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

如题所述

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-26
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);
  }

第2个回答  推荐于2017-12-15
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());
}
}

本回答被网友采纳
第3个回答  2016-04-15

  如果想要获得当前文件中的文件名只需要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);
        }
        
    }
}

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

第4个回答  2016-12-06

    主要使用的是File类.

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

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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网