这让我快疯了。我有一个简单的eclipse项目,其中有一个src文件夹和一个类。但我似乎无法让getResource找到它。我做错了什么?
import java.net.URL;
public class ContextTest {
public static void main(String[] args) {
URL url = ContextTest.class.getResource("/src/ContextTest.java");
System.out.println(url);
}
}
如果我右键单击类名,路径是testsprroject/src/ContextTest。java,根据运行配置中的classpath选项卡,默认的类路径是TestProject。
它不适用于/bin/ContextTest。java,ContextTest。java,ContextTest。java。
通过getResources()
访问的资源必须在类路径上。您的Java文件将被编译并放置在类路径上。编译后的. java
文件将被赋予. class
的扩展名。
尝试
URL url = ContextTest.class.getResource("ContextTest.class");
当您使用ContextTest加载资源时。班getResource(“/…”) 前导路径被转换为绝对路径。这里绝对的意思是来自根包(即默认包)。
在Eclipse中,根包被认为是位于src文件夹下的包。编译后的类将被放置在bin文件夹下,如果您创建一个jar,您将看到您的根包不是src或bin文件夹,而是其中的任何文件夹。(例如com)。
因此,使用类绝对路径加载资源的正确方法是ContextTest。班getResource(“/ContextTest.java”)
。如果文件ContextTest。java位于编译类所在位置的根包中,那么它就会被找到并返回。
我希望这能澄清问题。
更新:从下面的评论来看,不清楚你想做什么。当您使用getResource()时,您不是在加载文件,而是从类路径加载资源。即使您的文件在jar文件中,这也可以正确地找到资源。因此,在上面的示例中,您试图作为资源加载的文件应该位于类路径中(即在
bin
文件夹下,因为当您从Eclipse内部执行时,这是类路径的根)。如果您试图加载类路径之外的文件,那么不要尝试加载资源,您可以使用文件。
问题内容: 我有这个测试应用程序: 当我从Eclipse运行它时,出现错误: 类路径(来自.CLASSPATH文件) 在我的c:\ project \ src文件夹中,我只有Test.java文件和包含pacman.png的’assets’目录。 我在做什么错以及如何解决? 问题答案: 我会这样: “ /assets/pacman.png”是绝对位置,而“ assets / pacman.png”
当我尝试从eclipse中的资源目录加载一个图像时,我总是得到一个空指针异常(null pointer exception,NPE)。res文件夹位于项目目录中。这是我得到NPE的地方: 当我移除getClass().getReource()时,将返回图像: 当我打印res目录的URL时,我得到null: 谢谢
问题内容: 我以前使用过媒体播放器,但从未遇到过此问题。每当我尝试使用MediaPlayer.create()时,该方法都会使我为null,并且无法播放声音。有什么我想念的吗? 我的sound.mp3在我的原始文件夹中,通过将声音拖到eclipse中的文件夹中,我将其放置在其中。请帮忙,因为我以前玩过声音,所以这真的困扰我:( 问题答案: 如果create() API由于某种原因失败,则返回nul
我正在使用以下内容来获取此特定文件的URL,但它返回null。有人对该问题或执行此操作的替代方法有任何建议吗?
问题内容: 尽管是有效的类,但以下代码会打印。 文档说方法返回 由 aClassName 命名的类对象,或者如果当前没有加载该名称的类。如果 aClassName 为,则返回。 我也试图获得当前的viewcontroller已加载但仍然得到 可能是什么问题? 更新: 即使尝试这样做,我仍然可以 问题答案: 该函数 确实 适用于(纯和Objective-C派生的)swift类,但是仅当您使用全限定名
问题内容: 我觉得有点愚蠢,但它不起作用: 我有如果给定的用户是unicode。如果字符串中包含或,我想打印成功,但是我总是得到的结果。 问题答案: 隐式锚定到字符串的开头。如果要在字符串中搜索可以在字符串中任何位置的子字符串,则需要使用: 输出: 另外,Python Regexes不需要在开头和结尾都有一个。 最后,我添加到该行的末尾,因为我认为这就是您想要的。否则,您会得到类似的信息,但并不太