Java - IO之文件夹遍历删除(递归) July 21,2019
//遍历文件
import java.io.File; public class TestMethod { public void showFile(File file){ //判断如果file是一个文件夹 文件夹内有元素 找一个人先做 //获取file的子元素 file1==null是个文件 file1!=null是个文件夹 file1.length!=0是一个带元素的文件夹 File[] file1 = file.listFiles();//获取文件夹所有子元素 if(file1!=null && file1.length !=0){ for(File file2:file1){//每一个子元素都找人遍历 this.showFile(file2); } } //放在此处 从底层向上显示 System.out.println(file.getAbsolutePath()); } public static void main(String[] args){ TestMethod testMethod = new TestMethod(); testMethod.showFile(new File("F://JavaTest")); } } 输出结果: F:\JavaTest\123\1234\123.txt F:\JavaTest\123\1234 F:\JavaTest\123 F:\JavaTest\abc.txt F:\JavaTest\File\File1 F:\JavaTest\File F:\JavaTest\Test.txt F:\JavaTest
import java.io.File; public class TestMethod { public void showFile(File file){ //从上层向下显示 System.out.println(file.getAbsolutePath()); //判断如果file是一个文件夹 文件夹内有元素 找一个人先做 //获取file的子元素 file1==null是个文件 file1!=null是个文件夹 file1.length!=0是一个带元素的文件夹 File[] file1 = file.listFiles();//获取文件夹所有子元素 if(file1!=null && file1.length !=0){ for(File file2:file1){//每一个子元素都找人遍历 this.showFile(file2); } } //放在此处 从底层向上显示 //System.out.println(file.getAbsolutePath()); } public static void main(String[] args){ TestMethod testMethod = new TestMethod(); testMethod.showFile(new File("F://JavaTest")); } } 输出结果: F:\JavaTest F:\JavaTest\123 F:\JavaTest\123\1234 F:\JavaTest\123\1234\123.txt F:\JavaTest\abc.txt F:\JavaTest\File F:\JavaTest\File\File1 F:\JavaTest\Test.txt
删除:
import java.io.File; public class TestMethod { public void deleteFile(File file){ //判断file不是空文件夹 File [] files = file.listFiles(); if(files!=null && files.length!=0){ for(File file1 : files){ this.deleteFile(file1); } } //删除file (file是个文件或file是一个空文件夹) file.delete(); } public static void main(String[] args){ TestMethod testMethod = new TestMethod(); testMethod.deleteFile(new File("F://JavaTest")); } }