要获取 Java 项目中所有的文件名,可以通过以下步骤实现:
-
使用递归遍历获取项目中所有的文件:
//获得所有的文件名
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);
}
}
}

2.打印所有文件名:
for (String fileName : fileNames) {
System.out.println(fileName);
}


这样就能获取到 Java 项目中所有的文件名了。请注意,该方法仅适用于在文件是以文件系统形式存储的情况下,对于 JAR 文件中的文件是无法获取到的。另外,如果项目中有很多文件,可能会需要一定的时间来扫描和获取文件名。
- C++实现文件内查找字符串
- 深入探索JVM:理解Java程序在虚拟机中的存储和管理
- 基于VueCli自定义创建项目
- IDEA项目名称后面出现中括号,模块Modules的名子和文件夹名称不同,可以右键修改名称也可以在File->Project Structure 修改Modules的Name(快捷键ctrl+Shift+Alt+s)
- 和利时MACS6通过dat文件实现任意时间范围与测点的历史数据提取与科研分析
- 去年最火的 JS 开源项目「GitHub 热点速览」
- 用jacoco统计JAVA项目测试代码覆盖率
- Java实现在线编辑预览office文档
- 类模板分文件编写
- Linux文件IO之二 [补档-2023-07-21]
本栏目推荐文章