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 /
相比,行为不会完全相同,但您仍然可以用它删除很多东西。
我只是好奇(但不愿意在我的电脑上尝试)如果我 运行 这个代码在 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 /
相比,行为不会完全相同,但您仍然可以用它删除很多东西。