最近在學習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());
}
}
}
列出目錄中的子文件夾及文件和刪除操作都會使用遞歸方法,執行結果如下: