当元素的顺序无关紧要时,如何比较java中的两个文件

时间:2014-06-25 12:18:23

标签: java file compare

我想比较2个文件并检查内容是否等于。但问题是文件中的数据顺序不一样。即使元素未按相同顺序放置,内容相等,equals()方法也会返回false。如何通过忽略顺序来比较java中的这些文件? 最好的问候!

2 个答案:

答案 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)

将所有元素添加到集合并比较集合。注意:集合将忽略重复项。

或者您可以对所有元素进行排序并比较结果。如何对它们进行排序并不重要,只要它的排序是一致的。即原始订单不会改变结果。如果有重复,请使用此选项。