JAVA中怎样获得一个文件夹中的所有文件名

 我来答
摩羯面对现实
高粉答主

2018-12-03 · 繁杂信息太多,你要学会辨别
知道答主
回答量:106
采纳率:0%
帮助的人:5.9万
展开全部

java中获得一个文件夹中的所有文件名代码如下:

package com.readfile;

import java.io.File;

public class GetAllFiles {

public static void main(String[] args) {

//路径   这里写一个路径进去

String path="F:\\QQ文档";

//调用方法

getFiles(path);

}

 

/**

* 递归获取某路径下的所有文件,文件夹,并输出

*/

public static void getFiles(String path) {

File file = new File(path);

// 如果这个路径是文件夹

if (file.isDirectory()) {

// 获取路径下的所有文件

File[] files = file.listFiles();

for (int i = 0; i < files.length; i++) {

// 如果还是文件夹 递归获取里面的文件 文件夹

if (files[i].isDirectory()) {

System.out.println("目录:" + files[i].getPath());

getFiles(files[i].getPath());

} else {

System.out.println("文件:" + files[i].getPath());

}

} else {

System.out.println("文件:" + file.getPath());

}

}

}

扩展资料:

如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。

如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

其中public static String [] getFileName(String path)是只得到当前文件中的文件名。

public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。

参考资料:

百度百科-Java

yangliu2646
2017-04-26 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:86
采纳率:70%
帮助的人:66万
展开全部
File file = new File("E:\\program\\work");
  File[] cFile = file.listFiles();
  for (int i = 0; i < cFile.length; i++) {
   String name = cFile[i].getName();
   System.out.println(name);
  }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzs丶灬
推荐于2017-12-15 · TA获得超过632个赞
知道小有建树答主
回答量:881
采纳率:100%
帮助的人:516万
展开全部
public static void listfile(File file, List<String> list) {
// 如果file代表的不是一个文件,而是一个目录
if (!file.isFile()) {
// 列出该目录下的所有文件和目录
File files[] = file.listFiles();
// 遍历files[]数组
for (File f : files) {
// 递归
listfile(f, map);
}
} else {
list.add(file.getName());
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一数一道
2016-04-15 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:217万
展开全部

  如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

  其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。

public class GetFileName
{
    public static String [] getFileName(String path)
    {
        File file = new File(path);
        String [] fileName = file.list();
        return fileName;
    }
    public static void getAllFileName(String path,ArrayList<String> fileName)
    {
        File file = new File(path);
        File [] files = file.listFiles();
        String [] names = file.list();
        if(names != null)
        fileName.addAll(Arrays.asList(names));
        for(File a:files)
        {
            if(a.isDirectory())
            {
                getAllFileName(a.getAbsolutePath(),fileName);
            }
        }
    }
    public static void main(String[] args)
    {
        String [] fileName = getFileName("F:\\xiaoshuo");
        for(String name:fileName)
        {
            System.out.println(name);
        }
        System.out.println("--------------------------------");
        ArrayList<String> listFileName = new ArrayList<String>(); 
        getAllFileName("F:\\xiaoshuo",listFileName);
        for(String name:listFileName)
        {
            System.out.println(name);
        }
        
    }
}

  运行时需要更改一下具体的文件夹。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lindsay侃球
2016-12-06 · TA获得超过270个赞
知道小有建树答主
回答量:249
采纳率:100%
帮助的人:214万
展开全部
  1. 主要使用的是File类.

  2. 实例化对象,指定把文件夹路径.

  3. 递归(循环调用自己)文件夹里的文件:主要思想是,判断读取的文件,如果是文件夹就再调用自己.如果是文件,就打印名称,就这样递归调用直到结束

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式