首页 > 代码库 > 为数据挖掘小组写的一个用于造数据的小程序
为数据挖掘小组写的一个用于造数据的小程序
最近有个数据挖掘的项目,要求在文本里面写入随机字母并且要1000W个
于是就写了个程序用来造数据并记录一下
程序写的时候遇到的问题
1 未考虑内存溢出的情况,大批量的把数据写入导致内存溢出
以后需要谨慎对待
目前完整版
package test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.junit.Test; public class test { /** * 获取随机26个字母 * @param bit 几位字母 * @return String */ public String RandomWord(int bit) { String res = ""; for (int i = 0; i < bit; i++) { res += (char) (‘a‘ + (int) (Math.random() * 26)); } return res; } /** * * @param bit 几位字母 * @param row 一行几个 * @param totalNums 总共多少字母(最好与ROW取整) * @param url 输出到的文件位置 * @param spilt 字母之间的分隔符 * @return * @throws IOException */ public String addWordToFile(int bit, int row, int totalNums, String url,String spilt) throws IOException{ File file = new File(url); StringBuffer str = new StringBuffer(); for (int i = 1; i <= totalNums; i++) { int j=(int) (Math.random() * 26); if(i%row==1) str.append(j+spilt); if (i % row == 0){ str.append(RandomWord(bit) + "\r\n"); } else str.append(RandomWord(bit) + spilt); } FileWriter writer = new FileWriter(url, true); writer.write(str.toString()); writer.close(); return str.toString(); } @Test public void test1() throws IOException { addWordToFile(3, 10, 1000, "C:\\Users\\sunfan\\Desktop\\10Y.txt","\t"); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。