Java 无法识别Eclipse源文件夹
我想在Java项目中为我的资源创建一个单独的文件夹。看在上帝的份上,我是怎么做到这么简单的事情的?我已经试着让它工作了很长一段时间了,它开始让我发疯。以下是我迄今为止所尝试的: 1) 我打开了构建路径设置,并在源文件夹中添加了一个名为“资源”的文件夹 2) 我在文件夹中添加了两个名为“font”和“img”的文件夹,其中包含图像和字体文件 3) 我尝试以如下代码访问这些文件: 据说getClassLoader()为我提供了一条绝对路径,因此我选择了一条没有前导的路径Java 无法识别Eclipse源文件夹,java,eclipse,file-io,Java,Eclipse,File Io,我想在Java项目中为我的资源创建一个单独的文件夹。看在上帝的份上,我是怎么做到这么简单的事情的?我已经试着让它工作了很长一段时间了,它开始让我发疯。以下是我迄今为止所尝试的: 1) 我打开了构建路径设置,并在源文件夹中添加了一个名为“资源”的文件夹 2) 我在文件夹中添加了两个名为“font”和“img”的文件夹,其中包含图像和字体文件 3) 我尝试以如下代码访问这些文件: 据说getClassLoader()为我提供了一条绝对路径,因此我选择了一条没有前导的路径/: getClass().g
/
:
getClass().getClassLoader().getResourceAsStream("resources/font/MyFont.otf")
返回null。为什么eclipse中的文件管理如此令人愤怒 试试这个
getClass().getClassLoader().getResourceAsStream("/font/MyFont.otf")
我有一个解决办法给你。应该有用 步骤1:
InputStream is = this.getClass().getClassLoader().getResourceAsStream("font/MyFont.otf");
步骤2:
日蚀
run > run configurations > classpath > select user entries > advanced > add folders > select resource folder
然后运行项目。原因是资源文件夹需要位于类路径中。如果在生成路径设置中将“资源”文件夹添加为源文件夹,则应能够加载如下字体
getClass().getClassLoader().getResourceAsStream("font/MyFont.otf")
一旦将“resources”文件夹指定为源文件夹,eclipse就会将其包含在java类路径的根目录中。因此,您只需要相对于resources文件夹的路径。resources是否在“src”文件夹之外?@gtgaxiola是的,我希望保持这样…/resources/font/MyFont.otfDid是否将生成路径更改为src/resources。。?在这种情况下,您需要将路径指定为上面提到的font/MyFont.otfas,因为您不在“src”文件夹中,您需要根据要加载的资源的位置向上一级或几级:getResourceAsStream(“../../resources/font…”;