常用方法
String[] list():返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
static File[] listRoots():列出可用的文件系统根。
String[] list(FilenameFilter filter):返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles():返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
示例
import java.io.*;
class FileDemo2{
public static void main(String[] args)throws IOException{
listFilesDemo();
}
// listFiles
public static void listFilesDemo(){
File f=new File("d:\\");
File[] files=f.listFiles();
for(File file:files){
System.out.println(file.getName()+"::"+file.length());
}
}
// 检索指定目录下满足条件的文件和文件夹
public static void listDemo_2(){
File f=new File("d:\\");
String[] arr=f.list(new FilenameFilter(){ // 内部类
public boolean accept(File dir,String name){
// System.out.println("dir:"+dir+"……name:"+name); // dir:代表文件夹(目录)路径;name:代表文件名
/*if(name.endsWith(".docx"))
return true;
else
return false;*/
return name.endsWith(".docx"); // 简化代码
}
});
System.out.println("len:"+arr.length);
for(String name:arr){
System.out.println(name);
}
}
// 检索指定目录下的文件和文件夹
public static void listDemo(){
File f=new File("d:\\");
String[] names=f.list(); // 调用list()方法的File对象必须是封装了一个文件夹(目录),该文件夹还必须存在。
for(String name:names){
System.out.println(name);
}
}
// 检索电脑盘符
public static void listRootsDemo(){
File[] files =File.listRoots();
for(File f:files){
System.out.println(f);
}
}
}