[英]relative file path not working in Java
阅读后,可以使用“ ../”创建一个相对的文件路径名,我尝试了一下。
我有一个像这样的文件集的相对路径:
String dir = ".." + File.separator + "web" + File.separator + "main";
但是,当我尝试使用以下代码设置文件时,出现FileNotFoundException
。
File nFile= new File(dir + File.separator + "new.txt");
为什么是这样?
nFile打印:“ C:\\ dev \\ app \\ build \\ .. \\ web \\ main”
和
(“”)文件打印“ C:\\ dev \\ app \\ build”
根据您的输出,输入build
之后,您将用..
移1次回到app
并期望web
在那里(与build
处于同一级别)。 确保目录C:\\dev\\app\\web\\main
存在。
您可以使用exist ()检查目录dir
是否存在,如果不使用mkdirs()创建目录
样例代码:
File parent = new File(dir);
if(! parent.exists()) {
parents.mkdirs();
}
File nFile = new File(parent, "new.txt");
请注意,以parent
表示的文件可能已经存在但不是目录,在这种情况下,将其用作父文件是不可能的。 上面的代码无法处理这种情况。
您为什么不选择Env变量“ user.dir”?
它返回您启动应用程序的路径。
System.getProperty(user.dir)+File.separator+"main"+File.separator+[and so on]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.