您的位置:首页 > 编程语言 > Java开发

java代码实现将无表头.txt文本文件转化为weka能识别.arff文件

2016-10-20 13:05 495 查看
首先,我们要有一个.txt文件,每一行中的元素个数是相同的(因为每一行中的每一个元素就代表了一种类型的属性值),文尾已奉上,读者自行下载。有的就不用下载了,

然后,,,

代码如下,具体的就不细讲了

import java.io.*;
import java.util.ArrayList;

/**
* Created by Administrator on 2016/10/20.
*/
public class dataMinner {
public static void main(String[] args) throws IOException {
FileReader reader = new FileReader("E:\\50words_TRAIN.txt");
BufferedReader br = new BufferedReader(reader);
StringBuffer sb = new StringBuffer("");
String str=null;
str=br.readLine();
String str2=str;
String[] attributes = str.split(",");
while((str=br.readLine())!=null){
sb.append(str+"\r\n");
}
br.close();
reader.close();

FileWriter writer = new FileWriter("E:\\50words_TRAIN.arff");
BufferedWriter bw = new BufferedWriter(writer);
bw.write("@relation"+" "+"test"+"\r\n");
for(int i = 0;i<attributes.length;i++){
bw.write("@attribute"+" "+"attribute"+i+" "+"numeric"+"\r\n");
}
bw.write("@data"+"\r\n");
bw.write(str2+"\r\n");
bw.write(sb.toString());
bw.close();
writer.close();

}

}


在此需注意的是java中换行符的表示是 \r\n ,而不是 \n ,因为windows不能识别 \n 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: