2017-05-04 145 views
0

我已经编译了一个程序,用于读取指定目录中的所有.csv文件并将它们转换为.arff格式。但是,不要将.arff文件放入目录,而是将所有.arff文件添加到一个大文件中。将多个CSV文件转换为ARFF java

理想情况下,我想将所有.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

你这样做,但fileDestination是恒定的,指向目录( “ARFFfolder”):

saver.setFile(new File(fileDestination)); 

使用这个代替:

saver.setFile(new File(fileDestination, files[i].getName() + ".arff"));