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个回答  2019-11-30

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); // 输出文件名

}

}

}

}

第2个回答  2016-09-02

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;
    }

}

本回答被提问者采纳
第3个回答  推荐于2018-05-07
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() );
            }
        }
    }
}

本回答被网友采纳
第4个回答  推荐于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() );
            }
        }
    }
}

本回答被网友采纳

相关了解……

你可能感兴趣的内容

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