Java移动文件,找出重复项

时间:2016-11-11 04:51:06

标签: java image duplicates

我正在用Java编写一个程序,它将几个文件夹的所有图片合并到一个文件夹中。程序本身工作得非常好,但是现在,我想在将图片合并到" overallfolder"之前检查,如果它已经在文件夹中。例如,如果图片同时位于两个或多个文件夹中,那么我就不会有重复文件。

如果文件名相同并不重要,我想证明图片本身是否相同。

我程序中的以下功能列出了一个文件夹中的所有文件和文件夹:

private void listSubFolders(String path) {
    //System.out.println("Controll Folder: "+path); //DEBUG
    ArrayList<String> localPicturePaths = new ArrayList<String>();
    File[] files = new File(path).listFiles();

    if(files != null) {
        for(File file : files) {
            if(file.isDirectory()) {
                //System.out.println("Folder: "+file.getName()); //DEBUG
                listSubFolders(file.getAbsolutePath());
            } else if(file.isFile()) {
                if(containsIgnoreCase(getFileExtension(file), fileTypes)) {
                    //System.out.println("File: "+file.getName()+" in Folder "+file.getParent()); //DEBUG
                    localPicturePaths.add(file.getAbsolutePath());
                } else {
                    //System.out.println("Ignore File: "+file.getName()); //DEBUG
                }
            }
        }
    }

因此,有一个功能可以覆盖已经在文件夹中的所有图片。 我需要的是一个良好的工作功能来检查下一张图片,如果它已经在移动图片列表中。 我特别想找到一种有效的方法,它不会让节目的工作时间变慢。

你有什么想法吗?

0 个答案:

没有答案