为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕无忌1623718 2021-12-18 15:41:15
我正在开发一个非常简单的项目,该项目应该在运行时使用 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 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

微软视窗语法


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




        }


    }


查看完整回答
反对 回复 2021-12-18
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

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


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


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


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

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


filePath.toAbsolutePath()  

// just print it then, or check with a debugger

另外,请注意斜线。


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


另一种选择是反转它:/。


查看完整回答
反对 回复 2021-12-18
  • 2 回答
  • 0 关注
  • 498 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信