要求:列出指定目录中所有的子文件名与所有的子目录名,要求目录名与文件名分开列出,格式如下:
子目录:
jdk
视频
代码
子文件:
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
//自定义一个文件名过滤器
/*class JavaFileFilter implements FilenameFilter{
public boolean accept(File dir, String name) {
return name.endsWith(".java");
}
}*/
public class Demo136 {
public static void main(String[] args) {
File dir = new File("F:\\0416\\day02\\代码\\day02");
listJava(dir);
list(dir);
//listJava2(dir);
}
/*
* public static void listJava2(File dir){
* File[] files = dir.listFiles(new JavaFileFilter()); //返回所有符合条件的子文件与子目录
* for(File file : files){
* System.out.println(file.getName());
* }
*
* }
*/
public static void list(File dir){
//获取到当前路径下的所有子文件与子目录
File[] files = dir.listFiles();
System.out.println("子文件:");
for(File file : files){
if(file.isFile()){
System.out.println("\t"+file.getName());
}
}
System.out.println("子目录:");
for(File file : files){
if(file.isDirectory()){
System.out.println("\t"+file.getName());
}
}
}
//列出所有的java文件
public static void listJava(File dir){
File[] files =dir.listFiles() ; //找到了目录下面的所有子文件
for(File file : files){
String fileName = file.getName(); //获取到了文件名
if(fileName.endsWith(".java")){
System.out.println(fileName);
}
}
}
}