Java可以删除一台电脑的所有文件和文件夹吗?

Can Java delete all files and folders of a computer?

我只是好奇(但不愿意在我的电脑上尝试)如果我 运行 这个代码在 Java 上会发生什么?

 private static void deleteAll(File file)
    {
        for(File f : file.listFiles())
        {
            if(f.isFile())
            {
                f.delete();
            }
            else
            {
                deleteAll(f);
                f.delete();
            }
        }
    }

    public static void main(String[] args) {

        File file = new File("/home");      
        deleteAll(file);
    }

这是否等同于 linux 中的 rm -rf / 并且会删除我计算机上的所有内容?还是操作系统会阻止我删除系统文件?

非常感谢!

好的,这引起了我的兴趣,我在 lxc 容器上尝试了它。现在这不是科学测试,但总比没有好。

好吧,我会说我得到了不同的结果。如果您尝试使用 java 正常删除文件,而不是系统文件,那么您将完成您的工作。一旦你开始杀死你的系统,事情就会改变。 Java 不允许您从根目录中删除任何内容,但我确实成功删除了我的用户文件夹 (/home/ubuntusuer)。我没有破坏系统,唉

有一种机制可以阻止您删除整个系统。因此,与 rm -rf / 相比,行为不会完全相同,但您仍然可以用它删除很多东西。