2016-02-19 2 views
0

Я пытаюсь сравнить входной файл с файлом базы данных. Код сравнивает файлы и выводит слова из входного файла (test.txt), которые присутствуют в файле базы данных (db.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");

 Смежные вопросы

  • Нет связанных вопросов^_^