2016-02-19 40 views
0

我一直在嘗試將輸入文件與數據庫文件進行比較。代碼比較文件並輸出數據庫文件(db.txt)中存在的輸入文件(test.txt)中的單詞。但是,我沒有從輸出中的輸入文件中得到最後一個字。無法比較文件中的最後一個字

的test.txt包含:

There is a book on the table 

db.txt包含:

book 
the 
table 

因此在這裏我不是在輸出端獲得表。

public static void main(String[] args) { 
    try { 
     File file = new File("G:\\Project\\test.txt"); 
     File file2 = new File("G:\\Project\\db.txt"); 
     FileReader fileReader = new FileReader(file); 
     BufferedReader bufferedReader = new BufferedReader(fileReader); 
     StringBuffer stringBuffer = new StringBuffer(); 
     String line; 
     while ((line = bufferedReader.readLine()) != null) { 
      stringBuffer.append(line); 
      stringBuffer.append("\n"); 
     } 
     fileReader.close(); 
     StringTokenizer st = new StringTokenizer(stringBuffer.toString()," "); 
     while (st.hasMoreTokens()) 
     { 
      String word=st.nextToken(); 
      BufferedReader br = new BufferedReader(new FileReader(file2)); 
      String lin; 

      while((lin=br.readLine())!=null){ 
       { if(word.equalsIgnoreCase(lin)) 
        System.out.println(word); 
       } 
      } 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

輸出端接收:

book 
the 

它是什麼,我做錯了什麼?

回答

0

您正在將換行符附加到stringbuffer並且導致此問題。

從你的代碼中刪除下面的行,然後嘗試,它會工作。

stringBuffer.append("\n");

相關問題