Java使用绝对路径时说“文件不存在”

时间:2018-10-30 03:11:43

标签: java file relative-path

我正在做一个非常简单的项目,应该在运行时使用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;");



    }

}

2 个答案:

答案 0 :(得分:2)

(糟糕,在阅读代码上方的文本之后,解决问题的答案)

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

此外,在使用文件时,请尝试将NIO API与Path一起使用。喜欢:

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

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

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

另外,请注意斜线。

在使用Windows和斜杠\时,需要将它们加倍:\\

其他选择是将其反转:/

答案 1 :(得分:2)

Microsoft Windows语法

import java.awt.Desktop;
 import java.io.File;



    public class openpic {

        public static void main (String args[]) throws Exception

        {

            // Microsoft Windows syntax
            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;");



        }

    }