java - Java在使用绝对路径时说“文件不存在”
问题描述
我正在研究一个非常简单的项目,该项目应该在运行时使用 Windows 视频播放器打开图像。但是,我遇到了一个问题。我希望它能够使用相对文件路径访问文件“snp.jpg”,这样它就可以在我自己以外的计算机上运行。但是,当我将它设置为绝对文件路径时,它会失败并告诉我“文件......不存在”。有任何想法吗?
import java.awt.Desktop;
import java.io.File;
public class openpic {
public static void main (String args[]) throws Exception
{
File f = new File ("C:\Users\charl\Desktop\Computer Science\JavaProjects\src\snp.png");
Desktop d = Desktop.getDesktop();
d.open(f);
System.out.println("imageviewer open;");
}
}
解决方案
(操作......在我阅读了代码上方的文字后,修复了答案)
相对路径将从您运行程序的目录开始。也称为当前工作目录。
此外,当您使用文件时,请尝试使用 NIO API 和 Path。喜欢:
Path filePath = Paths.get("./snp.png")
使用此 API,您可以使用以下命令检查工作目录:
filePath.toAbsolutePath()
// just print it then, or check with a debugger
另外,要小心斜线。
当使用 Windows 和这个 slash\
时,你需要把它们加倍:\\
。
其他选择是反转它:/
.
推荐阅读
- react-native - React_Native Modal 在两个屏幕之间导航时正在关闭
- python - 环境 $PATH 在 conda deactivate 后没有正确的值
- azure - 如何检查批处理脚本中是否存在 DeploymentConfig
- neo4j - 在 python 中加载 csv 文件时尝试使用 SET += 时出现 Neo4j 错误
- css - 圆角向外的 CSS 菜单项
- javascript - 这里地图车队 api 不起作用,我怎样才能获得替代路线而不是错误?
- assembly - MSP430 中的进位标志混淆
- android - 如何使用 Kotest 和 Mockk 库为返回 LiveData 的方法编写单元测试
- c - C 中序言和尾声的 Malloc 实现
- highcharts - Highcharts 负值柱形图底部半径