温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - How to get the full system path of a directory (not file) in Spring boot with Java 8
directory java java-8 spring-boot

其他 - 如何使用Java 8在Spring Boot中获取目录(而非文件)的完整系统路径

发布于 2020-04-05 23:45:55

我正在使用Java 8在Spring Boot 1.5中进行编码,我在以下路径上有一个目录:

  C:\Users\me\IdeaProjects\MyApp\server\src\main\resources\static\documents\1\folder_a23

我不知道如何使用Java函数将此路径作为String / File / Path / Stream。有没有办法通过搜索“ / folder_a23”来获得该路径?非常感谢您的每一个回答!

查看更多

提问者
Joe Dashes
被浏览
48
630k 2020-04-02 04:25

文件对象处理您可以使用文件系统上的文件执行的所有操作。即使名称未正确提示,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存档。