В исходном коде вы читаете файл 2, затем файл 1 и просто удаляете слова из файла2 из файла1, оставляя одно другое слово.Здесь я выписал код и прокомментировал.Вы должны были иметь набор, который затем удалял это одно слово из полного списка.В своем коде я создал новый набор, на тот случай, если вы захотите перестроить первый набор и оставить его без изменений.
package scrapCompare;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class CompareLines {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//You create a set of words from file 1.
BufferedReader reader = new BufferedReader(new FileReader("file1"));
Set<String> lines = new HashSet<String>(10000);
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
//You create a set of words from file 2.
BufferedReader reader2 = new BufferedReader(new FileReader("file2"));
Set<String> lines2 = new HashSet<String>(10000);
String line2;
while ((line2 = reader2.readLine()) != null) {
lines2.add(line2);
}
//In your original code, you create a third set of words equal to file 1, and then delete all the words from file 2.
//It isolates the one different word, but you stopped there.
Set set3 = new HashSet(lines);
set3.removeAll(lines2);
lines.removeAll(set3);
//the answer set is made, in case you want to rebuild the lines set.
Set <String> answer = lines;
//iterator for printing to console.
Iterator<String> itr = answer.iterator();
//print the answer to console
while(itr.hasNext())
System.out.println(itr.next());
//close your readers
reader.close();
reader2.close();
}
}