【问题标题】:Invalid path by getpath Functiongetpath 函数的路径无效
【发布时间】:2016-03-14 04:47:42
【问题描述】:

在 java 中,我必须获取图像的确切位置,该图像位于包内源目录下的文件夹(表情符号)中,但每当我调用时

String s= (Main.class.getResource("Emoticons\\happy.PNG")).getPath();
System.out.println(s);
emotable.put(emo[0], s);

它给了我这样的无效路径

/E:/oop/java/emoti/out/production/emoti/sample/Emoticons%5chappy.PNG

路径中没有任何名为 %5c 的内容。你能告诉我它为什么会出现或如何避免这种情况。

【问题讨论】:

    标签: java class getresource


    【解决方案1】:

    对于 getResource,您需要使用的不是反斜杠,而是普通的斜杠:

    getResource("Emoticons/happy.PNG")
    

    【讨论】:

    • 但是现在jar转换后图像消失了。
    • @Shuvo 因为 jar 文件中的条目不是文件系统上的文件,这就是 Path 的用途。这就是为什么getResource() 返回URL,而不是FilePath,因为它可能不是其中之一。要读取内容,请使用getResourceAsStream(),而不是假设资源是一个文件。
    猜你喜欢
    • 2011-12-04
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    相关资源
    最近更新 更多