首页 > 解决方案 > 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;");



    }

}

标签: javafilerelative-path

解决方案


(操作......在我阅读了代码上方的文字后,修复了答案)

相对路径将从您运行程序的目录开始。也称为当前工作目录

此外,当您使用文件时,请尝试使用 NIO API 和 Path。喜欢:

Path filePath = Paths.get("./snp.png")

使用此 API,您可以使用以下命令检查工作目录:

filePath.toAbsolutePath()  
// just print it then, or check with a debugger

另外,要小心斜线。

当使用 Windows 和这个 slash\时,你需要把它们加倍:\\

其他选择是反转它:/.


推荐阅读