1.使用File类制定目标文件名,并判断是否为已存在的文件夹
2.使用String[]类获取list()方法返回的所有文件名
3.判断当list不为空时,使用foreach循环访问各文件的文件名以及文件类型
public static void readDir() throws Exception{
File file = new File("java");
if(file.isDirectory()){
System.out.println(file.getName()+"是一个目录,现在我们访问它!");
String[] list = file.list();
if(list != null){
for(String fileName:list){
File tempFile = new File(file,fileName);
if(tempFile.isDirectory()){
System.out.println(tempFile.getName()+"是一个目录");
}else{
System.out.println(tempFile.getName()+"是一个文件");
}
}
}
}else{
System.out.println(file.getName()+"不是一个目录");
}
}
经验总结:
1.使用File类指定目标位置文件时,可以使用File(File file,String child)构造方法,它可以指定父路径为另一个文件所在的目录,再单独写目标文件基于此位置的子路径。
2.在使用forecah循环遍历File类的list()方法返回的String[]类数组时,应注意该方法可能返回null,若不加非空判断可能会导致空指针异常。
3.File类的list()方法用于返回目录中各个文件的文件名,类型是String[];若你想要对其中的每个文件继续进行其他操作,如删除,则可以使用listFiles()方法,该方法返回的类型是File[]。但要注意的是,由该方法的名字有可能误解为返回的目标是文件(非文件夹的文件),而实际上并不是这个意思,而是返回目录中所有文件和文件夹的File类对象。