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

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

推荐于2019-10-24 · 繁杂信息太多,你要学会辨别
知道答主
回答量:106
采纳率:0%
帮助的人:5.8万
展开全部

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

刘世媛aa
高粉答主

推荐于2019-09-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:351
采纳率:100%
帮助的人:11.4万
展开全部

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一数一道
推荐于2018-02-18 · TA获得超过1751个赞
知道小有建树答主
回答量:369
采纳率:75%
帮助的人:216万
展开全部

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovebwf
2008-05-17 · TA获得超过146个赞
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
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<lf.length; i++){
System.out.println(lf[i].getName());
}

}
}
这是获取当前目录所有文件的文件名,包括了文件和文件夹的名,如果你要区分文件和文件夹,请使用isDirectory()判断,如果不知道请查看手册
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smluyi
推荐于2017-09-19 · TA获得超过1356个赞
知道大有可为答主
回答量:515
采纳率:0%
帮助的人:810万
展开全部
上面方法也可以,我这种直接就可以得到名字,不需要先转化为File对象
File file=new File("D:\\");
String test[];
test=file.list();
for(int i=0;i<test.length;i++)
{
System.out.println(test[i]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式