java递归遍历D盘下的所有文件夹和目录

import java.io.File;
import java.util.Arrays;
public class FileTest {
public static void main(String[] args) {
String roots=Arrays.toString(File.listRoots());
//1.数组转成String 2.File.listRoots()得到的盘符是数组
if(roots.contains(“D:\”)){//在字符串中,反斜杠得加转义字符,然后转义字符是\。
System.out.println(“存在D盘,正在遍历”);
File file=new File(“D:\”);
if(file.exists()){
System.out.println(“文件夹:”+Arrays.toString(file.list()));
System.out.println(" ");

}
else
//else没有挂号对它的第一行,有效,所以第一行不出现在控制台。
System.out.println(“文件不存在:”+file.getAbsolutePath());
//file.getAbsolutePath()得到的是D:\它的初始值
recursion(file);

}else{
System.out.println(“没有D盘”);
}
}
private static void recursion(File file){
if(file.isDirectory()){
System.out.println(file.getName());
//getName():获取文件或文件夹的名称,是相对路径
File[] files=file.listFiles();
if(files!=null){
for(File file1:files){
recursion(file1);
}
}
}
}

你可能感兴趣的:(java递归,java递归)