最近在学习java数据流,先对文件操作做一些整理。
import java.io.File;
public class DoFile
{
public static void main(String[] args){
File file=new File("D:"+File.separator+"BatchY9020_Claim_Result_from_InsuCompany");
//打印文件名称
System.out.println("删除前列出文件名称:");
new DoFile().printAll(file);
//删除文件
new DoFile().deleteAll(file);
//打印文件名称
System.out.println("删除后列出文件名称:");
new DoFile().printAll(file);
}
/**
**打印文件
**/
private static void printAll(File f){
if(f.isFile()){
System.out.println("当前文件名称:"+f.getName());
}
if (f.isDirectory()){
System.out.println("******************当前目录名称:"+f.getName());
File[] files=f.listFiles();
System.out.println("当前目录文件个数:"+files.length);
for(File fi:files){
printAll(fi);
}
}
}
/*
**删除文件
*/
private static void deleteAll(File f){
if(f.isFile()){
System.out.println("删除文件的结果:"+f.delete()+"\t删除文件名称:"+f.getName());
}
if(f.isDirectory()){
File[] files=f.listFiles();
for(File fi:files){
deleteAll(fi);
}
System.out.println("删除目录结果:"+f.delete()+"\t删除目录名称:"+f.getName());
}
}
}
列出目录中的子文件夹及文件和删除操作都会使用递归方法,执行结果如下: