2010-12-23 20 views
0

我想用ArffSaver創建一個ARFF文件。 (我實際上正在轉換一個非arff非常大的文件。)Weka:ArffSaver writeIncremental()不寫入文件

我正在嘗試使用writeIncremental(Instance insntance)方法遞增編寫文件。不幸的是,每次調用writeIncremental()都會導致數據被寫入System.out - 而不是指定的文件。

這裏是我的代碼片段:

FileOutputStream out = new FileOutputStream(outFilename); 
    ArffSaver saver = new ArffSaver(); 
    saver.setDestination(out); 
    saver.setRetrieval(Saver.INCREMENTAL); 
    saver.setStructure(instances); 
    String s = null; 
    while ((s = in.readLine()) != null) { 
    Instance instance = toInstance(s, instances); 
    saver.writeIncremental(instance); 
    } 
    saver.writeIncremental(null); 

如何,我可以得到ArffSaver逐步寫入文件的任何想法?

+0

你應該表現出你的outFilename是如何定義的 – Hal 2010-12-23 09:45:02

回答

1

我使用這個和正常工作:

saver.setFile(new File(outputFile));
saver.setDestination(new File(outputFile));

+1

setDestination是沒有必要的最近版本的Weka(3.5.4或更高版本根據文檔)。 – smola 2011-04-14 15:44:08