java.io.File(父级、子级)无法按预期工作
我正在尝试基于用户提供的文件名(可以是绝对的或相对的)和依赖于环境的基目录来构造Java File对象。java.io.File(File parent, String child)的java doc说如下:
如果子路径名字符串是绝对的,则以与系统相关的方式将其转换为相对路径名。
这让我想到,如果我有以下代码:
public class TestClass {
public static void main(String[] args) throws IOException {
File file = new File(new File("C:/Temp"),"C:/Temp/file.txt");
System.out.println(file.getAbsolutePath());
}
}
输出将为
C:\Temp\file.txt
然后我会做生意,因为如果用户提供绝对或相对路径,那将不再重要。但实际上,输出是
C:\Temp\C:\Temp\file.txt
这意味着我必须弄清楚确切的相对路径(或者至少测试不同的选项以查看文件是否存在)。我是否误解了 JavaDoc?