2016-12-05 3 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);