java - 如何获取通过在工作目录中设置文件名来实例化的文件的 File.getParent()?
问题描述
如果我用完整路径实例化了一个文件,例如
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() 之外,文件的每个 getter 都有效,getParentFile() 返回 null。
那么,使用相对于工作目录的完整路径和短路径来实例化 File 对象的保证目录的合法方法是什么?是否有可能使用 java.io 或者我需要使用 java.nio 吗?
Windows 10,如果重要的话,但我当然希望它是跨平台的。
解决方案
在@Tom的回答的帮助下,工作方式看起来像
File directory=new File(new File(file.getAbsolutePath()).getParent());
推荐阅读
- php - Parse google trends (csv file)
- angular - 禁用在 Angular 反应形式中不起作用
- cuda - 系统卡在使用 CUDA 运行矩阵乘法
- vue.js - Vue.js - 使用 Vuelidate url 域应该匹配电子邮件域
- java - 如何在 Java 中通过参数接收到的对象中检索数据?
- javascript - 如何创建网站的瀑布/时间线?
- python - Python:以随机顺序删除一对重复的字符串
- python-3.x - 确定 DataFrame 每一行的值
- python - 余弦相似度和句子
- xcode - 如何通过将 Apple 服务器请求重定向到我们的本地文件来手动下载 Xcode 并使用下载的文件从 App Store 安装?