我有一个名为 baseDir 的File对象指向的目录,其中保存了我的大部分文件。
我有一个字符串 f ,它可能包含相对文件名,如“data.gz”,或绝对文件名,如“/mnt/data.gz”(在配置文件中指定)
如果 f 是相对的,则应该假定指定的文件在 baseDir 中,但如果它是绝对的,那么应该相应地对待它。 / p>
如何创建指向 f 所代表的文件的File对象?
我可以想到hacky解决方案(例如。if (f.startsWith("/")) ...
,但我希望有一个“正确的方法”来做到这一点。
哦,我尝试使用File对象的File(File,String)构造函数,但它没有按照我的需要去做。
答案 0 :(得分:1)
使用File.isAbsolute(x)
http://download.oracle.com/javase/6/docs/api/java/io/File.html#isAbsolute%28%29
如果返回false,则添加您的basedir。
答案 1 :(得分:0)
您可以尝试以下操作:
File file = new File(f);
if(file.isAbsolute())
...
注意绝对路径的定义是系统依赖的!