java怎么获取一个目录下的所有文件名

java怎么获取一个目录下的所有文件名,第1张

获取一个目录下的所有文件和目录方法:

import java.io.File

public class FileTest {

    public static void main(String[] args) {

        /**

         * 将目标目录封装成 File 对象。

         */

        File dir = new File("/Users/zym/Desktop/Mac应用程序")

        /**

         * 获取目录下的所有文件和文件夹

         */

        旅核森String[] names = dir.list()

        for (String name : names) {

            System.out.println(name)

   拆亩     }

    }

}

通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。

过滤器:

import java.io.File

import java.io.FilenameFilter

public class FilterByDoc implements FilenameFilter {

    @Override

    public boolean accept(File dir, String name) {

        return name.endsWith(".doc")

    }

}

获取某个目录下的按照过滤器规则的所有文件:

import java.io.File

public class FileTest {

    public static void main(String[] args) {

        /**

         * 将目标目录封装成 File 对象。

         */

        File dir = new File("/Users/zym/Desktop/Mac应用程序")

        /**

         * 通过过滤器获取目录下的所有的 .doc 文件

         */

        String[] names = dir.list(new FilterByDoc())

        for (String name : names) {

            System.out.println(name)

        }

    }

}

希望能对您有所帮助氏帆!

\\copy

自己加的注释

public

class

listfile{

static

public

void

main(string[]

str)throws

exception{

file

f=null

bufferedreader

read=new

bufferedreader(new

inputstreamreader(system.in))

//接受控制台桐枝的输入

system.out.println("请输入一个目录:")

//提示输入目录

string

path=read.readline()

//获取路径

f=new

file(path)

//新建文稿老件实例

file[]

list=f.listfiles()

/*

此处获取文件夹下的所有文件

*/

for(int

i=0i

评论局敬敏

0

0

加载更多

/**

 * 获取指定路径下的所有文件睁山列表

 *

 * @param dir 要查找的目录

 * @return

 */

public static List<String> getFileList(String dir) {

    List<String> listFile = new ArrayList<>()

    File dirFile = new File(dir)

    //如果不是目录文件,则直接返回

    if (dirFile.isDirectory()) {

        //获得文件夹下的文件列表,然后根据文件类型分别处理

        File[] files = dirFile.listFiles()

        if (null != files && files.length > 0) {

            //根据时间排序

            悉锋中Arrays.sort(files, new Comparator<File>() {

                public int compare(File f1, File f2) {

                    return (int) (f1.lastModified() - f2.lastModified())

                }

                public boolean equals(Object obj) {

                    return true

                }

            })

            for (File file : files) {

                //如果不是目基旁录,直接添加

                if (!file.isDirectory()) {

                    listFile.add(file.getAbsolutePath())

                } else {

                    //对于目录文件,递归调用

                    listFile.addAll(getFileList(file.getAbsolutePath()))

                }

            }

        }

    }

    return listFile

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8155863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存