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

lyy呀787
2019-11-30
知道答主
回答量:4
采纳率:0%
帮助的人:2410
展开全部

import java.io.*;

public class Example12 {

public static void main(String[] args) throws Exception {

File file = new File("D:\\eclipseWorkspace\\JavaBasicWorkspace\\chapter07"); // 创建File对象

if (file.isDirectory()) { // 判断File对象对应的目录是否存在

String[] names = file.list(); // 获得目录下的所有文件的文件名

for (String name : names) {

System.out.println(name); // 输出文件名

}

}

}

}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暮影1994
2016-09-02 · TA获得超过2338个赞
知道大有可为答主
回答量:1215
采纳率:60%
帮助的人:400万
展开全部

import java.io.File;

/**
 * 2016年9月2日下午5:42:55
 * 
 * @author 3306 TODO Have fun
 *
 */
public class FileUtil {

    public static void main(String[] args) {

        String path = "D://";

        for (String file : findFileNames(path)) {
            System.out.println(file);
        }
    }

    /**
     * 获取文件夹下面所有的文件(包括文件夹)
     * 
     * @param path
     *            磁盘路径
     * @return 字符串数组
     */
    public static String[] findFileNames(String path) {

        String[] fileNameArr = {};
        File file = new File(path);

        if (file.exists()) {
            fileNameArr = file.list();
        }

        return fileNameArr;
    }

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渤音哩9290
推荐于2018-05-07 · TA获得超过222个赞
知道小有建树答主
回答量:317
采纳率:66%
帮助的人:146万
展开全部
import java.io.File;
import java.util.ArrayList;
 
public class FileTest {
    private static ArrayList<String> filelist = new ArrayList<String>();
 
    public static void main( String[] args ) throws Exception
    {
        String filePath = "E://Struts2";
        getFiles( filePath );
    }
 
 
    /*
     * 通过递归得到某一路径下所有的目录及其文件
     */
    static void getFiles( String filePath )
    {
        File root = new File( filePath );
        File[] files = root.listFiles();
        for ( File file : files )
        {
            if ( file.isDirectory() )
            {
                /*
                 * 递归调用
                 */
                getFiles( file.getAbsolutePath() );
                filelist.add( file.getAbsolutePath() );
                System.out.println( "显示" + filePath + "下所有子目录及其文件" + file.getAbsolutePath() );
            }else{
                System.out.println( "显示" + filePath + "下所有子目录" + file.getAbsolutePath() );
            }
        }
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-12-11
展开全部
如下代码使用递归算法遍历某个目录下的所有文件,并输出文件名
import java.io.File;
import java.util.ArrayList;

public class FileTest {
    private static ArrayList<String> filelist = new ArrayList<String>();

    public static void main( String[] args ) throws Exception
    {
        String filePath = "E://Struts2";
        getFiles( filePath );
    }


    /*
     * 通过递归得到某一路径下所有的目录及其文件
     */
    static void getFiles( String filePath )
    {
        File root = new File( filePath );
        File[] files = root.listFiles();
        for ( File file : files )
        {
            if ( file.isDirectory() )
            {
                /*
                 * 递归调用
                 */
                getFiles( file.getAbsolutePath() );
                filelist.add( file.getAbsolutePath() );
                System.out.println( "显示" + filePath + "下所有子目录及其文件" + file.getAbsolutePath() );
            }else{
                System.out.println( "显示" + filePath + "下所有子目录" + file.getAbsolutePath() );
            }
        }
    }
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式