当前位置:首页 > JAVA > 正文内容

java获取文件夹下的所有文件

高老师2年前 (2023-10-23)JAVA251

定义1个工具类:

public class FileTools {

    /**
     * 获取文件夹下的所有文件
     *
     * @param directory
     * @return
     */
    public static List<File> getAllFilesInAFolder(File directory) {
        // 保存全部文件的List(用于返回)
        List<File> fileList = new ArrayList<>();

        // 读取文件夹下的全部文件
        File[] files = directory.listFiles();

        // 循环处理此文件夹的内容
        if (files != null) {
            for (File file : files) {
                // 如果内容是文件则保存
                if (file.isFile()) {
                    fileList.add(file);
                } else {
                    // 如果内容是文件夹递归获取文件
                    List<File> subDirectoryFiles = getAllFilesInAFolder(file);
                    fileList.addAll(subDirectoryFiles);
                }
            }
        }

        // 返回
        return fileList;
    }

    /**
     * 格式化文件路径为操作系统标准路径
     *
     * @param filePath
     * @return
     */
    public static String formatFileSeparator(String filePath) {
        String separator = File.separator;
        return filePath.replace("\\", separator).replace("/", separator);
    }

    /**
     * 格式化文件路径
     * @param filePath
     * @return
     */
    public static String formatFilePath(String filePath) {
        String separator = File.separator;
        filePath = formatFileSeparator(filePath);
        if (!filePath.endsWith(separator)) {
            filePath = filePath.concat(separator);
        }
        return filePath;
    }
}

调用工具类例子:

// 读取目录全部文件
String path = "/temp/";
path = FileTools.formatFilePath(path);
File directory = new File(path);
List<File> files = FileTools.getAllFilesInAFolder(directory);


扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/658.html

分享给朋友:

“java获取文件夹下的所有文件” 的相关文章

Java不用编译直接执行

Java不用编译直接执行

public class test {     public static void main(String[] args) {     &...

java编译编码问题,java编译执行时编码问题

java编译编码问题,java编译执行时编码问题

public class test {     public static void main(String[] args) {     &...

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

java数组,java创建数组,java创建数组并赋值,java数组元素个数,java foreach 循环数组,java数组排序

(1).创建数组double[] myList = new double[size];  //推荐创建方式 double myList[] = new double[size];  ...

java日期和时间

java日期和时间

(1).java获取当前日期时间Date date = new Date();  System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...

java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end

java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end

java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end// 正则 String pattern = "\\bgao\\b"; // 字符串 String content ...

java lookingAt匹配字符串和java matches匹配字符串,java正则replaceAll,java正则replaceFirst

java lookingAt匹配字符串和java matches匹配字符串,java正则replaceAll,java正则replaceFirst

(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...