我编译了一个程序,它读取指定目录中的所有.csv文件,并将它们转换为.arff格式。但是,不是将.arff文件放入目录,而是将所有.arff文件添加到一个大文件中。
理想情况下,我希望将所有.arff文件放入fileDestination中的文件夹中。
`public static void main(String[] args)throws Exception {
File path = new File("/test//file//path//CSVfolder");
File [] files = path.listFiles();
String fileDestination = "C://test//file//path//ARFFfolder";
for (int i = 0; i < files.length; i++){
CSVLoader loader = new CSVLoader();
loader.setSource(files[i]);
Instances data = loader.getDataSet();
data.setClassIndex(data.numAttributes()-1);
String[] options= new String[2];
options[0] = "-R";
options[1] = "last";
//Save the file in ARFF format
ArffSaver saver = new ArffSaver();
saver.setInstances(data);
saver.setFile(new File(fileDestination));
saver.writeBatch();
}
}`
我理解错误来自saver.setFile(new File(fileDestination));
但是我似乎无法获得正确的语法。
答案 0 :(得分:0)
您这样做了,但是fileDestination
是常量并且指向目录(“ARFF文件夹”):
saver.setFile(new File(fileDestination));
请改用:
saver.setFile(new File(fileDestination, files[i].getName() + ".arff"));