无法删除给定目录中的文件

弗雷泽价格

我正在尝试编写一个程序,该程序将删除目录中的所有重复文件。目前可以检测到重复项,但是我的删除代码似乎无法正常工作(Files.delete()return false)。有人可以告诉我为什么吗?

当前代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.SecurityManager;

public class Duplicate {
    @SuppressWarnings("resource")
    public static boolean isDuplicate(File a, File b) throws IOException {
        FileInputStream as = new FileInputStream(a);
        FileInputStream bs = new FileInputStream(b);
        while(true) {
            int aBytes = as.read();
            int bBytes = bs.read();
            if(aBytes != bBytes) {
                return false;
            } else if(aBytes == -1) {
                System.out.println("Duplicate found: "+a.getName()+", "+b.getName());
                return true;
            }
        }
    }

    public static void main(String[] args) throws IOException {
        File dir = new File(System.getProperty("user.dir"));
        File[] files = dir.listFiles();
        for(int i = 0; i < files.length; i++) {
            for(int j = i+1; j < files.length; j++) {
                if(isDuplicate(files[i], files[j])) {
                    String filePath = System.getProperty("user.dir").replace("\\", "/")+"/"+files[i].getName();
                    System.out.println("Deleting "+filePath);
                    File f = new File(filePath);
                    if(f.delete())
                        System.out.println(filePath+" deleted successfully");
                    else
                        System.out.println("Could not delete "+filePath);
                }
            }
        }
    }
}
卡波36

您是否关闭了文件流?如果文件当前处于打开状态,它将返回false。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法从目录中删除文件

来自分类Dev

从目录中删除早于给定时间的文件

来自分类Dev

无法从工作目录中删除文件

来自分类Dev

如何编写一个删除给定目录中除具有给定名称的文件之外的每个文件的oneliner?

来自分类Dev

无法删除文件夹:/ opt目录中的权限被拒绝

来自分类Dev

File.delete()无法删除目录中的文件

来自分类Dev

无法移动以删除绑定安装目录中的文件

来自分类Dev

如何删除Windows中与给定通配符匹配的子目录中的所有文件?

来自分类Dev

如何从给定目录中的文件名中删除前缀和后缀?

来自分类Dev

删除目录中的所有文件,但不删除子目录,而不显示“无法删除目录”

来自分类Dev

如何删除所有子目录中具有给定名称的所有文件?

来自分类Dev

无法删除<文件>:无此文件或目录

来自分类Dev

删除子目录中留下给定的子目录

来自分类Dev

检查文件是否在给定目录中

来自分类Dev

循环浏览给定目录中的文件

来自分类Dev

循环遍历目录中给定类型的文件

来自分类Dev

从文档目录中删除文件

来自分类Dev

删除目录中的特定文件

来自分类Dev

删除php目录中的文件

来自分类Dev

从目录 MVC 中删除文件

来自分类Dev

计算给定路径中的文件,目录和子目录

来自分类Dev

从文件中的给定单词中删除给定字母

来自分类Dev

无法删除本地文件-错误“是目录”

来自分类Dev

“打开的文件太多”-无法删除目录

来自分类Dev

无法构建war文件:无法删除目标目录中的validation-api-2.0.1.Final.jar

来自分类Dev

无法删除程序文件目录中的文件夹。更改权限不起作用

来自分类Dev

无法删除文件。文件或目录已损坏且无法读取

来自分类Dev

无法通过在后期推送中的 gitignore 文件中添加目录名称来删除存储库中的目录?

来自分类Dev

删除目录中的所有文件,而不删除目录

Related 相关文章

  1. 1

    无法从目录中删除文件

  2. 2

    从目录中删除早于给定时间的文件

  3. 3

    无法从工作目录中删除文件

  4. 4

    如何编写一个删除给定目录中除具有给定名称的文件之外的每个文件的oneliner?

  5. 5

    无法删除文件夹:/ opt目录中的权限被拒绝

  6. 6

    File.delete()无法删除目录中的文件

  7. 7

    无法移动以删除绑定安装目录中的文件

  8. 8

    如何删除Windows中与给定通配符匹配的子目录中的所有文件?

  9. 9

    如何从给定目录中的文件名中删除前缀和后缀?

  10. 10

    删除目录中的所有文件,但不删除子目录,而不显示“无法删除目录”

  11. 11

    如何删除所有子目录中具有给定名称的所有文件?

  12. 12

    无法删除<文件>:无此文件或目录

  13. 13

    删除子目录中留下给定的子目录

  14. 14

    检查文件是否在给定目录中

  15. 15

    循环浏览给定目录中的文件

  16. 16

    循环遍历目录中给定类型的文件

  17. 17

    从文档目录中删除文件

  18. 18

    删除目录中的特定文件

  19. 19

    删除php目录中的文件

  20. 20

    从目录 MVC 中删除文件

  21. 21

    计算给定路径中的文件,目录和子目录

  22. 22

    从文件中的给定单词中删除给定字母

  23. 23

    无法删除本地文件-错误“是目录”

  24. 24

    “打开的文件太多”-无法删除目录

  25. 25

    无法构建war文件:无法删除目标目录中的validation-api-2.0.1.Final.jar

  26. 26

    无法删除程序文件目录中的文件夹。更改权限不起作用

  27. 27

    无法删除文件。文件或目录已损坏且无法读取

  28. 28

    无法通过在后期推送中的 gitignore 文件中添加目录名称来删除存储库中的目录?

  29. 29

    删除目录中的所有文件,而不删除目录

热门标签

归档