list()和listFiles()方法区别:

读取某个目录下所有文件、文件夹

public static ArrayList<String> getFiles(String path) {
    ArrayList<String> files = new ArrayList<String>();
    File file = new File(path);
    File[] tempList = file.listFiles();

    for (int i = 0; i < tempList.length; i++) {
        if (tempList[i].isFile()) {
//              System.out.println("文     件:" + tempList[i]);
            files.add(tempList[i].toString());
        }
        if (tempList[i].isDirectory()) {
//              System.out.println("文件夹:" + tempList[i]);
        }
    }
    return files;
}





list()和listFiles()方法区别:

1.返回值类型不同:前者为String数组,后者为File对象数组
2.数组中元素内容不同:前者为string类型的【文件名】(包含后缀名),后者为File对象类型的【完整路径】

因此,遍历文件夹中所有文件,包括子文件夹中的文件时,必须用listFiles()方法

》》遍历文件夹中所有文件,包括子文件夹中的文件实例见下节内容《《

演示:

package Flie类中list和listFiles方法区别;

import java.io.File;

public class Test {
    public static void main(String[] args){
        File file=new File("D:\\tcb\\工具");
        //list()方法存储的是文件名
        System.out.println("list()方法遍历的结果:");
        String[] strings=file.list();
        for (String string : strings) {
            System.out.println(string);
        }
        System.out.println();
        //listFiles()方法存储的是文件的完整路径,因此在遍历文件夹以及子文件夹中所有文件时必须使用listFiles()方法
        System.out.println("listFiles()方法遍历的结果:");
        File[] files=file.listFiles();
        for (File file2 : files) {
            System.out.println(file2);
        }
    }
}

结果:

这里写图片描述


posted @ 2018-07-28 14:42  众星拱月  阅读(428)  评论(0编辑  收藏  举报