一、所用工具
传统删除是利用IO流,本文利用NIO流实现。
二、常见几种方法
1.传统IO流
代码如下(示例):
//调用
File file = new File("E:/河南省乡镇点/GIS/");
deleteFile(file);
//删除文件夹及其文件
public static void deleteFile(File file){
//获取目录下子文件
File[] files = file.listFiles();
//遍历该目录下的文件对象
for (File f : files) {
//打印文件名
System.out.println("文件名:" + f.getName());
//文件删除
f.delete();
}
boolean delete = file.delete();
System.out.println(delete);
}
2.强制删除(如若一次删除失败,进行多次强制删除即可)
代码如下(示例):
//调用
File file = new File("E:/河南省乡镇点/GIS/");
forceDelete(file);
//强制删除
public static boolean forceDelete(File file) {
boolean result = file.delete();
int tryCount = 0;
while (!result && tryCount++ < 10) {
System.gc(); //回收资源
result = file.delete();
}
return result;
}
3.利用NIO流
代码如下(示例):文章来源:https://www.toymoban.com/news/detail-686048.html
Path path= Paths.get("E:\\河南省乡镇点\\GIS");
Files.walkFileTree(path,new SimpleFileVisitor<>(){
//遍历删除文件
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
Files.delete(file);
return FileVisitResult.CONTINUE;
}
//遍历删除目录
public FileVisitResult postVisitDirectory(Path dir,IOException exc) throws IOException{
Files.delete(dir);
return FileVisitResult.CONTINUE;
}
});
总结
利用NIO流的好处:
1.如果删除失败,可以给出错误的具体原因;
2.代码不多,效率高。文章来源地址https://www.toymoban.com/news/detail-686048.html
到了这里,关于java删除文件或目录的三种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!