一、list() 返回一个字符串数组,是制定目录下的文件夹名和文件名
File file =new File("d:\\aaa");// File里封装的必须是目录 而且必须存在 否则数组会被赋值为null
String[] names= file.list();//若是文件或不存在 list会把null赋予数组names
for(String s:names){
System.out.println(s);
}
二、把该目录下文件夹的内容也取出来
因为目录中还有目录只要使用同一个列出目录功能的函数完成即可,即函数的递归 自身调用自身
public class ListFile {
public static void Lists(File dir){
String[] file=dir.lists();
for(String f:file){
if(f.isDirectory()){
Lists(f);//递归调用
}
System.out.println(f.getName());
}
}
public static void main(String[] args) {
File file=new File("G:\\photo shop");
ListFiles(file);
}
}
三、list(FilenameFilter filter)可以过滤指定文件 参数是一个FilenameFilter
</pre><pre name="code" class="java"> public static void listFilter(){
File dir =new File("d:\\aaa");
String[] names= dir.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.startsWith("11");//列出的是以11开头文件或目录 返回真则输出
}
});
for(int i=0;i<names.length;i++){
System.out.println(names[i]);
}
}
四、listFiles()用法和list只不过它的返回值是 文件类型的数组File[]
public static void listFilePro(){
File dir =new File("d:\\aaa");
File[] files=dir.listFiles();
for(File f:files){
System.out.println("dir:"+f.getAbsolutePath()+"---name:"+f.getName()+"---length:"+f.length());
}
}