Java File.listFiles 获取指定目录下的文件以及文件夹对象

定义

public File[] listFiles()
public File[] listFiles(FilenameFilter filter)
public File[] listFiles(FileFilter filter)
参数

FileFilter/FilenameFilter:文件过滤器

返回

返回指定目录下所有的文件。如果不是目录,则此方法返回null。否则,将返回File对象的数组,该对象对应目录中的每个文件名称。如果此路径名是绝对路径,则每个结果路径名称都是绝对路径;如果此路径名是相对的,则每个结果路径名都将相对于同一目录。

异常

SecurityException:SecurityManager.checkRead(String)方法拒绝对目录的读取访问

实例

public static void main(String[] args) throws Exception
{
    File file = new File("F:\\51gjie");
    //返回51gjie目录下所有的文件以及文件夹对象
    File files[] = file.listFiles();
    for(File f: files)
    {
        String filename = f.getName();
        long time = f.lastModified();
        String filetype = "";
        String len = "";
        if(f.isDirectory())
        {
            filetype = "文件夹";
        }
        if(f.isFile())
        {
            filetype = getFiletype(f);
            len = f.length() + "字节";
        }
        StringBuilder builder = new StringBuilder();
        builder.append(filename);
        builder.append("\t\t\t");
        builder.append(filetype);
        builder.append("\t\t\t");
        builder.append(len);
        System.out.println(builder.toString());
    }
}

注意:此方法不能保证结果数组中的名称字符串会以任何特定顺序出现,尤其不能保证它们按字母顺序出现。