2017-01-16 25 views
-1

以下代碼僅給出每行的第一個單詞。但是在幾行中有多個單詞。我認爲,這種情況存在問題。如何從外部.txt文件的每行中獲取所有單詞

public void nacti() throws IOException, FileNotFoundException{ 
    if(!jeNacten){ 
     BufferedReader reader = new BufferedReader(new FileReader("analyza.txt")); 
     String slovo; 
     StringTokenizer tokenizer; 
     while((slovo = reader.readLine()) != null){ 
      tokenizer = new StringTokenizer(slovo, " //.//,"); 
      slovo = tokenizer.nextToken(); 
      seznamSlov.add(new Slovo(slovo)); 
     } 
     reader.close(); 
     jeNacten=true;    
    } 
} 

slovo = reader.readLine()後,我怎樣才能從字符串slovo所有的話嗎?

+0

問題是,你似乎不明白當前while循環正在做什麼。一旦你瞭解了你的BuffeerReader如何讀取一行。你會明白該怎麼做 – AxelH

回答

0

您需要迭代所有令牌。

while((slovo = reader.readLine()) != null){ 
     tokenizer = new StringTokenizer(slovo, " //.//,"); 
     while(tokenizer.hasMoreTokens()) { 
      slovo = tokenizer.nextToken(); 
      seznamSlov.add(new Slovo(slovo)); 
     } 
    } 
0

您只有一個循環遍歷輸入行。採用這種方法,您需要添加一個內部循環,通過單行循環。

相關問題