java遍历一个目录,输出这个那些最少一个文件的那些目录的绝对路径,这道题如何用java代码解决?

 我来答
Arvin90
2016-11-09 · TA获得超过452个赞
知道小有建树答主
回答量:297
采纳率:89%
帮助的人:232万
展开全部

我就不多说了,直接上代码吧:

/**
 * java遍历一个目录,输出这个那些最少一个文件的那些目录的绝对路径,这道题如何用java代码解决?
 *
 * @param args
 */
public static void main(String[] args) {
    // 设置文件目录, 设置为user.dir目录,便于测试
    File folder = new File(System.getProperty("user.dir"));

    System.out.println("根目录: " + folder.getAbsolutePath());
    System.out.println("---------------------------------------------------------------------------");

    displayAtLeastOneFileFolderPath(folder);

    System.out.println("---------------------------------------------------------------------------");
}

/**
 * 显示 有一个文件以上的文件目录
 * @param file 文件或目录
 */
private static void displayAtLeastOneFileFolderPath(File file) {
    if (file != null) {
        if (file.isDirectory()) {   // 只有目录才处理
            File[] files = file.listFiles();
            int fileCount = 0; // 文件数量,即不是文件夹的数量
            if (null != files && files.length > 0) {
                for (File subFile : files) {
                    if (subFile.isFile()) {
                        fileCount ++; // 文件数目加一
                    } else {
                        // 继续检查下面的文件夹
                        displayAtLeastOneFileFolderPath(subFile);
                    }
                }
            }
            if (fileCount > 0) {    // 说明有文件,需要显示文件夹的全路径
                System.out.println(file.getAbsolutePath() + ": 共有文件 " + fileCount + " 个!");
            }
        }
    }
}

在我机器上的运行结果为:

六尾小狐狸
2016-11-09 · TA获得超过593个赞
知道小有建树答主
回答量:624
采纳率:74%
帮助的人:373万
展开全部
给你一个思路吧

首先目录你是知道的,你可以存在一个变量里面。
然后有个方法listFiles()你可以获取当前目录下所有的目录结构,这个路径你可以存到一个List里面或者数组里面。
这个时候你就可以通过一开始的路径来循环拼列表里面存的路径了,然后在通过listFiles计算有多少个子文件,用个变量来记录文件数量。如果比之前的大则更新一下用来记录绝对路径的变量地址就好了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式