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;");




    }


}


慕无忌1623718
浏览 499回答 2
2回答

慕森王

微软视窗语法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;");        }    }

Cats萌萌

(Ops...修复答案,在我阅读代码上方的文字后)相对路径将从您运行程序的目录开始。也称为当前工作目录。此外,当您使用 Files 时,请尝试使用 NIO API 和 Path。喜欢:Path filePath = Paths.get("./snp.png")使用此 API,您可以使用以下方法检查工作目录:filePath.toAbsolutePath()  // just print it then, or check with a debugger另外,请注意斜线。当使用 Windows 和这个斜杠时\,你需要把它们加倍:\\.另一种选择是反转它:/。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java