java列出文件夹下的所有文件

这个程序主要是想遍一个文件夹下的所有文件.不过.最后总是报错://遍历当前文件夹下的所有文件importjava.io.File;importjava.util.Date... 这个程序主要是想遍一个文件夹下的所有文件.
不过.最后总是报错:

//遍历当前文件夹下的所有文件

import java.io.File;
import java.util.Date;

public class TryFile2{

public static void main(String[]args)
{

File myDir=new File("D:/My Documents/0");

System.out.println(myDir.getAbsolutePath()

+(myDir.isDirectory() ? "is ":" is not ")
+" a directory");

System.out.println("The parent of "+myDir.getName()+ " is "

+myDir.getParent());

File[]contents=myDir.listFiles();

if(contents !=null)
{
System.out.println("\nThe "+contents.length

+"items in the directory"+myDir.getName()
+"are:");

for(File file : contents)
{
System.out.println(file+" is a"
+(file.isDirectory()?"directory":"file")
+"last modified on:\n"
+new Date(file.lastModified()));

}

else{
System.out.println(myDir.getName() + "is not a directory");

}

System.exit(0);

}

}
展开
 我来答
qwwqqwwqyear
推荐于2017-10-07 · TA获得超过228个赞
知道小有建树答主
回答量:161
采纳率:94%
帮助的人:79.7万
展开全部
/**
 * 获取指定路径下的所有文件列表
 *
 * @param dir 要查找的目录
 * @return
 */
public static List<String> getFileList(String dir) {
    List<String> listFile = new ArrayList<>();
    File dirFile = new File(dir);
    //如果不是目录文件,则直接返回
    if (dirFile.isDirectory()) {
        //获得文件夹下的文件列表,然后根据文件类型分别处理
        File[] files = dirFile.listFiles();
        if (null != files && files.length > 0) {
            //根据时间排序
            Arrays.sort(files, new Comparator<File>() {
                public int compare(File f1, File f2) {
                    return (int) (f1.lastModified() - f2.lastModified());
                }

                public boolean equals(Object obj) {
                    return true;
                }
            });
            for (File file : files) {
                //如果不是目录,直接添加
                if (!file.isDirectory()) {
                    listFile.add(file.getAbsolutePath());
                } else {
                    //对于目录文件,递归调用
                    listFile.addAll(getFileList(file.getAbsolutePath()));
                }
            }
        }
    }
    return listFile;
}
百度网友70ae8e86ac
推荐于2017-09-12 · TA获得超过1304个赞
知道小有建树答主
回答量:815
采纳率:0%
帮助的人:1099万
展开全部
遍历所有文件,用递归来写合适一些:
//package com.color.io;

import java.io.File;

public class ListFile {

public static void main(String[] args){

File file = new File("D:\\file");
ListFile.listFile(file);
}

public static void listFile(File f){
if(f.isDirectory()){
System.out.println("directory:"+f.getPath()+"--parent:"+f.getParent());
File[] t = f.listFiles();
for(int i=0;i<t.length;i++){
listFile(t[i]);
}
}else {
System.out.println("fileName:"+f.getAbsolutePath()+"--parent:"+f.getParent());
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序员球迷的日常

2007-11-30 · TA获得超过159个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:169万
展开全部
package test;

import java.io.File;
import java.util.Date;

public class TryFile2{

public static void main(String[]args)
{

File myDir=new File("e:/My Documents");

System.out.println(myDir.getAbsolutePath()

+(myDir.isDirectory() ? "is ":" is not ")
+" a directory");

System.out.println("The parent of "+myDir.getName()+ " is "

+myDir.getParent());

File[]contents=myDir.listFiles();

if(contents !=null)
{
System.out.println("\nThe "+contents.length

+"items in the directory"+myDir.getName()
+"are:");

for(File file : contents)
{
System.out.println(file+" is a"
+(file.isDirectory()?"directory":"file")
+"last modified on:\n"
+new Date(file.lastModified()));
}
}else{
System.out.println(myDir.getName() + "is not a directory");

}

System.exit(0);
}
}

正确了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式