java - 如何使用 Java 8 在 Spring Boot 中获取目录(不是文件)的完整系统路径
问题描述
我正在使用 Java 8 在 Spring Boot 1.5 中进行编码,我在此路径上有一个目录:
C:\Users\me\IdeaProjects\MyApp\server\src\main\resources\static\documents\1\folder_a23
我不知道如何使用 Java 函数将此路径作为字符串/文件/路径/流。有没有办法通过搜索“/folder_a23”来获得这条路径?非常感谢您的每一个回答!
解决方案
文件对象处理您可以对文件系统上的文件执行的所有操作。即使名称没有正确暗示它,File
对象也是文件或目录路径名的抽象表示。
看看#getAbsolutePath()
File file = new File(".....");
String absolutePath = file.getAbsolutePath();
这为您提供了文件的绝对路径。
如果您用于创建 File 对象的 String 指向一个目录,您可以使用以下命令获取该目录的内容.listFiles();
这允许您遍历目录的内容并执行所需的检查。
file = new File("c:/test");
File[] paths = f.listFiles();
for(File path: paths) {
// perform your checks here
}
这个函数本质上不是递归的。如果你想进入子目录,你需要自己编写代码。
但是,这假设您确实在处理文件。如果您将程序捆绑为 .jar(或 .war)文件并从那里运行它,它们将不会是文件系统上的文件,因为 .jar 是压缩的 java 档案。
推荐阅读
- python - Python 请求 未找到连接适配器
- angular - 在 Quill JS 编辑器中预赋值
- android - PDFDocument - 多页
- virtual-machine - 使用 gitlab-ci 创建虚拟机
- javascript - 我想要一种减少重复的方法来重写它
- node.js - 在 MongoDB 中使用 .save() 的问题
- python - 安装 pip-requests 的巨大问题(尚未在所有 SO 中找到帮助)
- python - Flask-Migrate 尝试迁移用户模型抛出错误
- django - 如何在 Django 信号中使用 update_fields
- grafana - Grafana 6.6+ 为 keycloak 用户分配管理员角色