我正在尝试删除文件夹中的所有文件:-
import java.io.*;
public class AddService {
public static void main(String args[]){
File folder=new File("inputs");
File[] listOfFiles=folder.listFiles();
for(File file:listOfFiles){
if(file.delete())
System.out.println("File deleted");
else
System.out.println("File not deleted");
}
}
}
我收到“文件未删除”响应,并且该文件未被删除。我的代码有什么问题吗?
最佳答案
导致文件无法删除的原因有很多;它可能不存在,它可能是一个非空目录,您可能没有关闭使用它的所有资源,并且您的程序可能没有这样做的权限,仅举几例。
不幸的是File.delete()
方法提供的有关原因的信息很少;这很大程度上取决于你去探索并找出答案。但有个好消息:你一开始就不想使用File
。
Java 7 引入了新的 java.nio.file
包,这是一个更强大的文件访问 API。它提供了抽象的概念Path
并将具体操作分为Files
类,特别是它提供 Files.delete()
它被记录为提出明确的异常,描述删除可能失败的原因。
使用路径
和文件
;你会很高兴你这么做了。
关于java - java无法删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28826565/