我想比较2个文件并检查内容是否等于。但问题是文件中的数据顺序不一样。即使元素未按相同顺序放置,内容相等,equals()方法也会返回false。如何通过忽略顺序来比较java中的这些文件? 最好的问候!
答案 0 :(得分:2)
以下是您想要的代码:
Scanner input1= new Scanner(new File("C:/file1.txt");
Scanner input2= new Scanner(new File("C:/file2.txt");
String one= input1.nextLine();//assuming files contain only one line
String two= input2.nextLine();//assuming files contain only one line
Set<String> set1 = new HashSet<String>(Arrays.asList(one.split(";"));
Set<String> set2 = new HashSet<String>(Arrays.asList(two.split(";"));
System.out.println(set1.equals(set2));
答案 1 :(得分:1)
将所有元素添加到集合并比较集合。注意:集合将忽略重复项。
或者您可以对所有元素进行排序并比较结果。如何对它们进行排序并不重要,只要它的排序是一致的。即原始订单不会改变结果。如果有重复,请使用此选项。