Kim*_*oyd 39 java file delete-file
这是我目前要删除的文件,但它无法正常工作.我认为这可能是许可问题或其他什么,但事实并非如此.我正在测试的文件是空的并且存在,所以不确定它为什么不删除它.
UserInput.prompt("Enter name of file to delete");
String name = UserInput.readString();
File file = new File("\\Files\\" + name + ".txt");
file.delete();
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我现在有:
File file = new File(catName + ".txt");
String path = file.getCanonicalPath();
File filePath = new File(path);
filePath.delete();
Run Code Online (Sandbox Code Playgroud)
尝试在运行时找到正确的路径,以便在程序转移到另一台计算机时仍然可以找到该文件.
小智 57
问题也可能是由于您忘记关闭的任何输出流.在我的情况下,我在删除文件之前使用该文件.但是,在文件操作的一个位置,我忘记关闭一个输出流,我将其写入稍后尝试删除的文件.
Gor*_*vic 32
一定要找出当前的工作目录,并编写相对于它的文件路径.
这段代码:
File here = new File(".");
System.out.println(here.getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)
...将打印出该目录.
此外,与您的问题无关,请尝试使用File.separator以保持与操作系统无关.反斜杠仅适用于Windows.
小智 12
我遇到了同样的问题!然后意识到我的目录不是空的.我在另一个线程中找到了解决方案:无法通过Java删除目录
/**
* Force deletion of directory
* @param path
* @return
*/
static public boolean deleteDirectory(File path) {
if (path.exists()) {
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
deleteDirectory(files[i]);
} else {
files[i].delete();
}
}
}
return (path.delete());
}
Run Code Online (Sandbox Code Playgroud)
我怀疑问题是路径不正确.试试这个:
UserInput.prompt("Enter name of file to delete");
String name = UserInput.readString();
File file = new File("\\Files\\" + name + ".txt");
if (file.exists()) {
file.delete();
} else {
System.err.println(
"I cannot find '" + file + "' ('" + file.getAbsolutePath() + "')");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
124729 次 |
| 最近记录: |