如果我实例化了具有完整路径的文件,例如
File file = null;
try {
file = new File(new URI("file:/C:/java2018/infa2019_2sm/test.txt"));
} catch (URISyntaxException e) {
e.printStackTrace();
}
以后可以打电话
File directory = file.getParentFile();
并将其分配到C:/ java2018 / infa2019_2sm目录
但是,如果仅使用工作目录中现有文件的文件名实例化该文件,就像这样
File file=new File("test.txt");
除了getParentFile(),getParentFile()之外,文件的每个获取器都将返回null。
那么,用相对于工作目录的完整路径和短路径实例化File对象的保证目录的合法方法是什么? java.io是否有可能,还是我仍然需要使用java.nio?
Windows 10,如果有的话,但是我当然想跨平台安装。
最佳答案
借助@Tom的答案,工作方式看起来像
File directory=new File(new File(file.getAbsolutePath()).getParent());