gpt4 book ai didi

java - 相对文件路径在 Java 中不起作用

转载 作者:行者123 更新时间:2023-12-01 14:36:58 25 4
gpt4 key购买 nike

读完之后,我尝试了一下是否可以使用“../”创建相对文件路径名。

我有一个文件集的相对路径,如下所示:

String dir = ".." + File.separator + "web" + File.separator + "main";

但是当我尝试使用下面的代码设置文件时,我收到 FileNotFoundException

File nFile= new File(dir + File.separator + "new.txt");

这是为什么?

最佳答案

nFile prints: "C:\dev\app\build\..\web\main"

("") file prints "C:\dev\app\build"

根据您的输出,输入 build 后,您将使用 .. 上升 1 次,返回到 app 并期望 web 在那里(与 build 处于同一级别)。确保目录 C:\dev\app\web\main 存在。

您可以使用exists()检查目录 dir 是否存在,如果不存在则使用 mkdirs() 创建它

示例代码:

File parent = new File(dir);
if(! parent.exists()) {
parents.mkdirs();
}
File nFile = new File(parent, "new.txt");

请注意,parent 表示的文件可能已经存在,但不是目录,在这种情况下,不可能将其用作父目录。上面的代码不处理这种情况。

关于java - 相对文件路径在 Java 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16403677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com