2016-12-05 70 views
0

我刚被这个BufferedReader卡住了,我无法读取整个txt文件..只读第一行!如何用BufferedReader统计所有行

FileReader fr = new FileReader("/Users/esson/Desktop/sonnets/sonnet3.txt"); 
BufferedReader br = new BufferedReader(fr); 
String input = br.readLine(); 
List<String> output= (List) Arrays.asList(input.split(" ")); 

for(String word: output) { 
    int times = Collections.frequency(output, word); 
    System.out.println("" + word+ " -- "+times); 

,输出是:

When -- 1 
most -- 1 
I -- 1 
wink -- 1 
then -- 1 
do -- 1 
mine -- 1 
eyes -- 1 
best -- 1 
see, -- 1 
+0

[Java的==的Javascript(http://javascriptisnotjava.io/)。 –

+2

看看你调用'readLine'多少次。你为什么期望代码读取多行? –

回答

1

你需要把BufferedReader.readLine()在一个循环中。例如:

while((text = BufferedReader.readLine()) != null) 

另外,我觉得你应该标记了一个问题,Java和JavaScript不

0
int lineNum; 

for(String word: output) { 

    lineNum++; 

    int times = Collections.frequency(output, word); 
    System.out.println("" + word+ " -- "+times); 
} 

System.out.println("Line Number is " + lineNum); 
相关问题