我正在尝试访问项目中的文件。但是getResource方法返回null。
Thread.currentThread().getContextClassLoader().getResource("assets/xxx.png"); //returns null
以及eclipse工作区中项目文件夹的外观:
为什么啊?我想访问我的资产文件夹中的文件?
编辑我创建了一个jar文件,这是jar的内容:
已解决
首先,我有很多图像文件,所以我想把它们组织在一个文件夹中。我把assets文件夹放在src目录中,最后我能够访问这些文件。
this.getClass().getClassLoader().getResource("assets/xxx.png");
对于像我这样挣扎的人来说。对于Maven,只需运行mvn清洁安装
。之后,Thread.currentThread(). getContextClassLoader(). getResources()应该工作。
尝试使用/
前缀。
Thread.current线程(). getContextClassLoader(). getResourceAsStream("/xxx.png")
有很多方法可以将资源添加到jar文件中,您可以将其放在src中,如果您使用maven、ant等,可以将其作为资源添加。。。如果您能够捆绑整个目录,那么您应该能够使用您的原始代码。对于当前结构,您可以使用以下代码段。
Thread.currentThread().getContextClassLoader().getResource("/xxx.png").
问题内容: 使用Eclipse IDE。该行: 返回。我已经在项目的根目录下创建了该文件夹。 感兴趣的代码是: 并引发异常: 有什么帮助吗? 问题答案: 确保res文件夹在类路径中,使用项目属性> Java构建路径>源选项卡进行验证。如果不在类路径中,可以通过右侧的“ 添加文件夹..” 按钮 添加 。
问题内容: 这是简单的代码,我没有得到设置位图的结果,而是得到了null。谁能告诉我我在哪里犯错了? 更新 好的,所以我无法像我想的那样将文本转换为图像。这样呢 这会创建位图吗? 问题答案: 从文档中: 返回 解码的位图;如果无法解码图像,则 返回 null。 字符串“ test”中涉及的字节不是有效的位图,对吗? 如果将文本“ test”保存在名为or 等的文件中,并试图在Windows中打开它
问题内容: 我已经存储了在该数据库中插入并插入记录的过程。我想获取最后插入的记录的ID。返回NULL并返回正确的ID,为什么会发生?如我所读,因此最好在表上有一些触发器的情况下使用。我可以使用吗?不论触发器如何,它是否都在表的范围内返回ID? 那么问题是什么以及使用什么呢? 已编辑 问题答案: 就像奥德(Oded)所说的那样,问题在于您在执行之前要先询问身份。 作为解决方案,最好尽可能地接近运行。
我的jar中有一个图像,我正试图加载它,但是getResourceAsStream()总是返回null。 目录结构: 所容纳之物爪哇: 一般内容。爪哇: StackTrace: 我不知道为什么类加载器找不到图像。我已经在编译的jar中查看过了,文件在那里,并且在油漆中打开很好,所以文件是OK的。我已经尝试了各种ClassLoader变体,包括getSystemClassLoader(),getCl
我知道还有其他几个问题。。。 类.getResource() 返回空值 Java - 类.get资源返回空值 调用 context.getResources() 返回 null getClassLoader().getResource(filepath) 返回一个空指针 但我的问题似乎有点不同,因为我似乎拥有所有必要的东西来避免这个问题。 代码: 问题是我已经通过检查调试器中的类加载器来验证我的类
根据JSON规范,表示null值的正确方法是文字。 预期结果: 实际结果: