首页 > 编程语言 >如何获得 java项目下面所有的文件名

如何获得 java项目下面所有的文件名

时间:2023-06-29 15:33:07浏览次数:45  
标签:下面 java String 文件名 currentFile fileNames 获取 File


 要获取 Java 项目中所有的文件名,可以通过以下步骤实现:

  1. 使用递归遍历获取项目中所有的文件:
//获得所有的文件名
public class getfilename {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
        List<String> fileNames = new ArrayList<>();
        try {
            // 获取当前类加载器
            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            // 获取当前类加载器加载的所有资源的 URL
            URL url = classLoader.getResource("");
            // 如果是文件系统的路径
            if (url.getProtocol().equals("file")) {
                String basePath = URLDecoder.decode(url.getFile(), "UTF-8");
                File baseDir = new File(basePath);
                // 递归扫描文件夹中的所有文件
                scanFiles(fileNames, baseDir);
            }
            for (String fileName : fileNames) {
                System.out.println(fileName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    // 递归扫描文件夹中的所有文件
    private static void scanFiles(List<String> fileNames, File currentFile) {
        if (currentFile.isDirectory()) {
            File[] files = currentFile.listFiles();
            if (files != null && files.length > 0) {
                for (File file : files) {
                    scanFiles(fileNames, file);
                }
            }
        } else if (currentFile.isFile()) {
            String filePath = currentFile.getAbsolutePath();
            fileNames.add(filePath);
        }
    }
}

如何获得 java项目下面所有的文件名_Java

如何获得 java项目下面所有的文件名_类加载器_02

2.打印所有文件名:

for (String fileName : fileNames) {
    System.out.println(fileName);
}

如何获得 java项目下面所有的文件名_类加载器_03

如何获得 java项目下面所有的文件名_类加载器_04

如何获得 java项目下面所有的文件名_类加载器_05

这样就能获取到 Java 项目中所有的文件名了。请注意,该方法仅适用于在文件是以文件系统形式存储的情况下,对于 JAR 文件中的文件是无法获取到的。另外,如果项目中有很多文件,可能会需要一定的时间来扫描和获取文件名。


标签:下面,java,String,文件名,currentFile,fileNames,获取,File
From: https://blog.51cto.com/u_15864767/6583105

相关文章

  • 如何获得 java项目下面所有的文件名
     要获取Java项目中所有的文件名,可以通过以下步骤实现:使用递归遍历获取项目中所有的文件://获得所有的文件名publicclassgetfilename{//这是一个main方法,是程序的入口:publicstaticvoidmain(String[]args){List<String>fileNames=newArrayList<>(......
  • 利用JAVA的AOP运行时注解实现请求VO的复杂组装
    背景上一篇介绍了关于JAVA的AOP编译时注解的开发经验,因此,这里则接着来讲讲AOP运行时注解,摘取的是利用运行时注解实现微服务对请求对象(VO)中的指定字段特殊处理的统一封装,典型场景就是SpringCloudGateway对用户请求经过鉴权、过滤、路由等处理之后,将必要信息添加到消息头中,转发到相......
  • 获得所有的class文件名,该怎么做
    ​ 要获取Java项目中所有类名,可以通过以下步骤实现:使用反射获取项目中所有的类:   //获得所有的class文件名publicclassgetclassfilename{//这是一个main方法,是程序的入口:publicstaticvoidmain(String[]args){List<String>className......
  • 获得所有的class文件名,该怎么做
    ​ 要获取Java项目中所有类名,可以通过以下步骤实现:使用反射获取项目中所有的类:   //获得所有的class文件名publicclassgetclassfilename{//这是一个main方法,是程序的入口:publicstaticvoidmain(String[]args){List<String>className......
  • 如何获得 java项目下面所有的文件名
    ​ 要获取Java项目中所有的文件名,可以通过以下步骤实现:使用递归遍历获取项目中所有的文件://获得所有的文件名publicclassgetfilename{//这是一个main方法,是程序的入口:publicstaticvoidmain(String[]args){List<String>fileNames=newA......
  • 【后端面经-Java】公平锁和加锁流程
    目录1.公平锁和非公平锁1.1基本概念1.2ReentrantLock的公平锁和非公平锁2.加锁流程2.1ReentrantLock和AQS的关系2.2公平锁-加锁流程2.3非公平锁-加锁流程2.4加锁流程和性能的关系3.面试问题模拟参考文献1.公平锁和非公平锁1.1基本概念公平锁:线程按照到来的先后......
  • JavaScript 格式化时间
    functionformatDate(date){/***格式化日期*@param{Date|String}date日期或日期字符串*/function_isString(val){returnObject.prototype.toString.call(val)==='[objectString]';}/***精确判断数据是否是Date类型*@param......
  • 一条从Java基础到Java开发各个方向的学习路线(书籍)
    一条从Java基础到Java开发各个方向的学习路线,按照难度递增的顺序排列:Java基础:《Java核心技术卷一》-CayS.Horstmann和GaryCornell《HeadFirstJava》-KathySierra和BertBatesJavaWeb开发:《HeadFirstServletsandJSP》-BryanBasham等《JavaWeb开发......
  • Java 中 BigDecimal 类型的变量的使用
    BigDecimal类的作用:Java的BigDecimal类用于进行高精度的十进制运算,避免了使用浮点数造成的精度丢失问题。 BigDecimal提供了许多方法来执行基本的数学运算,如加减乘除、比较、区域等。 BigDecimal类的常见用法示例:1、创建BigDecimal对象:BigDecimalnumber=......
  • Java 17 新特性
    如题:基于垃圾回收器的内存分配:Java17引入了垃圾回收器接口,允许开发人员实现自定义的垃圾回收器。这样可以提供更大的灵活性和性能优化的机会。  示例代码:1publicclassMyGarbageCollectorimplementsGarbageCollector{2//实现自定义的垃圾回收逻辑......