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

2024-11-14 06:23:56
推荐回答(5个)
回答1:

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 fileName)是包括当前文件及其子文件的文件名。

参考资料:

百度百科-Java

回答2:

首先我们得拿到这个正确的文件路径

其次,可以先判断一下我们所输入的文件路径是否正确,然后,在这个基础上在判断一下这个路径是文件夹还是文件,在判断为文件的基础上再次判断一下是否是.java结尾的文件,计数器即自增一次,字符输出流就写入一次,并且换行一次.

这个题目就差不多分析完了 ,接下就是主函数了,直接调用定义好的两个方法,就好了 

回答3:

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

  其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList 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 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 listFileName = new ArrayList(); 
        getAllFileName("F:\\xiaoshuo",listFileName);
        for(String name:listFileName)
        {
            System.out.println(name);
        }
        
    }
}

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

回答4:

import java.io.File;
public class Dir {
public static void main(String[] args) {
File file = new File(".");
File[] lf = file.listFiles();
for(int i=0; i System.out.println(lf[i].getName());
}

}
}
这是获取当前目录所有文件的文件名,包括了文件和文件夹的名,如果你要区分文件和文件夹,请使用isDirectory()判断,如果不知道请查看手册

回答5:

上面方法也可以,我这种直接就可以得到名字,不需要先转化为File对象
File file=new File("D:\\");
String test[];
test=file.list();
for(int i=0;i {
System.out.println(test[i]);
}