2016-12-05 3 views
0

Ich bin gerade mit diesem BufferedReader stecken geblieben und ich kann es nicht schaffen, die ganze TXT-Datei zu lesen..es liest nur die erste Zeile!Wie alle Zeilen mit BufferedReader zu zählen

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); 

und der Ausgang ist:

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

Schau dir an, wie oft du 'readLine' nennst. Warum sollten Sie erwarten, dass dieser Code mehr als eine Zeile liest? –

Antwort

1

Sie benötigen BufferedReader.readLine() in einer Schleife zu setzen. Zum Beispiel:

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

Außerdem glaube ich Ihnen die Frage, wie Java und nicht Javascript-Tag sollte

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);