阅读量:2
可以使用Java的IO流和字符串处理来实现两个txt文本文档的数据对比,找出不相同的字。
以下是一个简单的示例代码:
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.HashSet; import java.util.Set; public class TextComparator { public static void main(String[] args) { String file1Path = "text1.txt"; String file2Path = "text2.txt"; try { Set<Character> diffChars = compareTextFiles(file1Path, file2Path); System.out.println("不相同的字:"); for (Character ch : diffChars) { System.out.print(ch); } } catch (IOException e) { e.printStackTrace(); } } public static Set<Character> compareTextFiles(String file1Path, String file2Path) throws IOException { Set<Character> diffChars = new HashSet<>(); BufferedReader reader1 = new BufferedReader(new FileReader(file1Path)); BufferedReader reader2 = new BufferedReader(new FileReader(file2Path)); String line1, line2; while ((line1 = reader1.readLine()) != null && (line2 = reader2.readLine()) != null) { for (int i = 0; i < line1.length(); i++) { if (line1.charAt(i) != line2.charAt(i)) { diffChars.add(line1.charAt(i)); } } } reader1.close(); reader2.close(); return diffChars; } }
上述代码中,首先定义了两个txt文本文档的路径 file1Path
和 file2Path
,然后调用 compareTextFiles
方法进行对比,返回不相同的字的字符集合 diffChars
,最后打印出不相同的字。
请注意,上述代码仅比较了两个文本文档中对应位置的字符是否相同,如果两个文档的字符数不一致,可能会导致数组越界异常。如果需要进行更复杂的对比逻辑,可以根据具体需求进行修改。