繁体   English   中英

JFileChooser选择多个文本文件并进行比较

[英]JFileChooser to select multiple text files and compare them

我想使用JFileChooser选择多个文本文件,然后进行比较。 选择多个文件的代码如下

    JFileChooser chooser = new JFileChooser();
    chooser.setMultiSelectionEnabled(true);
    Component frame = null;
    chooser.showOpenDialog(frame);
    File[] files = chooser.getSelectedFiles();

如何使用文件句柄比较多个文件。 是否可以使用此方法比较多个文本文件。 我有多个文本文件,我想检查所有文件的内容是否匹配。 如果内容完全相同,则显示为MATCH,如果文本文件不同,则显示为FAIL,内容也有所不同。 非常感谢你的帮助

使用FileUtils

例:

for(int i=0; i<files.length-1; i++) 
    for(int j=i+1; j<files.length; j++)
        if(FileUtils.contentEquals(files[i], files[j]))
            System.out.println("file #" + i + " and file #" + j + " are identical.";
        else
            System.out.println("file #" + i + " and file #" + j + " are different.";

Example#2-无需使用外部库,您可以使用答案中描述的技术。

for(int i=0; i<files.length-1; i++) {
    for(int j=i+1; j<files.length; j++) {
        byte[] f1 = Files.readAllBytes(files[i]);
        byte[] f2 = Files.readAllBytes(files[j]);

        if (Arrays.equals(f1, f2))
            System.out.println("file #" + i + " and file #" + j + " are identical.";
        else
            System.out.println("file #" + i + " and file #" + j + " are different.";
    }
}

PS:由于您没有在问题中提到它,因此我在这里假设您要比较两个文件的内容,并确定它们是否相等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM