Java 'file.delete()' 不是删除指定的文件

2022-08-31 20:02:30

这是目前我必须删除的文件,但它不起作用。我以为这可能是权限问题或其他问题,但事实并非如此。我正在测试的文件是空的并且存在,所以不确定为什么它没有删除它。

UserInput.prompt("Enter name of file to delete");
String name = UserInput.readString();
File file = new File("\\Files\\" + name + ".txt");
file.delete();

任何帮助将不胜感激!

我现在有:

File file = new File(catName + ".txt");
String path = file.getCanonicalPath();
File filePath = new File(path);
filePath.delete();

尝试在运行时找到正确的路径,以便如果将程序传输到其他计算机,它仍将找到该文件。


答案 1

问题也可能是由于您忘记关闭的任何输出流造成的。在我的情况下,我在删除文件之前正在处理该文件。但是,在文件操作的某个位置,我忘记了关闭用于写入稍后尝试删除的文件的输出流。


答案 2

请务必找出您当前的工作目录,并相对于它写入您的文件路径。

此代码:

File here = new File(".");
System.out.println(here.getAbsolutePath());

...将打印出该目录。

此外,与您的问题无关,请尝试使用以保持独立于操作系统。反斜杠仅适用于 Windows。File.separator