2013-02-13 100 views
-3

我已经计算出了这些字,现在显示在控制台中。但我想将控制台输出写入文本文件。这个怎么做?如何在java中的文本文件中打印此输出?

String[] wrds = counter.getWords(WordCounter.SortOrder.BY_FREQUENCY); 
int[] frequency = counter.getFrequencies(WordCounter.SortOrder.BY_FREQUENCY);   

int n = counter.getEntryCount(); 
for (int i=0; i<n; i++) 
{ 
    This should be written in text file///// System.out.println(frequency[i] + " " + wrds[i]+" "+ counter.getWordCount()); 
+0

您是否尝试过在此搜索教程?如果你只是谷歌“Java写入文件”或类似的东西,有很多很棒的例子。 – Quetzalcoatl 2013-02-13 15:25:11

+0

我使用Google搜索确切的问题标题。这是我的第二击:http://stackoverflow.com/questions/1994255/how-to-write-console-output-to-a-txt-file – djechlin 2013-02-13 15:27:00

+0

所有的朋友。我试过1994255的例子,但如果它不工作,它不工作 – Ameer 2013-02-13 15:28:37

回答

2
String[] wrds = counter.getWords(WordCounter.SortOrder.BY_FREQUENCY); 
int[] frequency = counter.getFrequencies(WordCounter.SortOrder.BY_FREQUENCY);   
String texttoWrite = ""; 
int n = counter.getEntryCount(); 
for (int i=0; i<n; i++) 
{ 
    texttoWrite += frequency[i] + " " + wrds[i]+" "+ counter.getWordCount(); 
} 
try{ 
FileWriter fstream = new FileWriter("out.txt"); 
BufferedWriter out = new BufferedWriter(fstream); 
out.write(texttoWrite); 
out.close(); 
}catch (Exception e){ 
    System.err.println("Error: " + e.getMessage()); 
} 
} 
+1

更新了代码。尝试一下。 – NEO 2013-02-13 15:38:49

+0

谢谢,但我想写成一行行。 texttoWrite + = frequency [i] +“”+ wrds [i] +“”+ counter.getWordCount()+“\ n”; } 是正确的吗? – Ameer 2013-02-13 15:47:43

+1

是的。您必须追加一个新的换行符才能逐行打印。 – NEO 2013-02-13 15:50:08

0

这样的事情呢?

FileWriter fstream = new FileWriter(fileName); 
BufferedWriter fbw = new BufferedWriter(fstream); 
for (int i=0; i<n; i++) { 
    fbw.write(frequency[i] + " " + wrds[i]+" "+ counter.getWordCount()+ "\n"); 
} 
0

退房FileWriter

FileWriter fw = new FileWriter("path location"); 
fw.write(frequency[i]....); 
fw.close(); 
0

打开该文件对象的文件。并写入文件而不是控制台(或两者兼而有之)。关闭文件。什么是真正的问题?