我一直在尝试将输入文件与数据库文件进行比较。代码比较文件并输出数据库文件(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 :(得分:0)
您要将换行符附加到stringbuffer
,这会导致此问题。
从代码中删除以下行并尝试,它会起作用。
stringBuffer.append("\n");