使用类加载器加载文件
这个问题已经困扰了我一段时间。我必须在我的java应用程序中加载几个文件,到目前为止,我工作的唯一方式是这样的:
URL hsURL;
if(System.getProperty("os.name").toLowerCase().contains("windows")) {
hsURL = new URL("file:/" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
else {
hsURL = new URL("file://" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
但这是丑陋和可怕的。有一段时间,我以为我有这个工作:
hsURL = ClassLoader.getSystemResource("helpsets/helpset.hs");
但是由于某种原因,这不再有效(我一定改变了一些东西,但没有注意到。它返回 null。
我应该使用getResource()而不是getSystemResource()(如果是这样,为什么getSystemResource()是静态的而不是getResource())?
我正在使用eclipse,我尝试将文件夹包含在构建路径(类路径)中,而不是包括它,它似乎没有区别。