2017-05-04 86 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"));