Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法识别Eclipse源文件夹_Java_Eclipse_File Io - Fatal编程技术网

Java 无法识别Eclipse源文件夹

Java 无法识别Eclipse源文件夹,java,eclipse,file-io,Java,Eclipse,File Io,我想在Java项目中为我的资源创建一个单独的文件夹。看在上帝的份上,我是怎么做到这么简单的事情的?我已经试着让它工作了很长一段时间了,它开始让我发疯。以下是我迄今为止所尝试的: 1) 我打开了构建路径设置,并在源文件夹中添加了一个名为“资源”的文件夹 2) 我在文件夹中添加了两个名为“font”和“img”的文件夹,其中包含图像和字体文件 3) 我尝试以如下代码访问这些文件: 据说getClassLoader()为我提供了一条绝对路径,因此我选择了一条没有前导的路径/: getClass().g

我想在Java项目中为我的资源创建一个单独的文件夹。看在上帝的份上,我是怎么做到这么简单的事情的?我已经试着让它工作了很长一段时间了,它开始让我发疯。以下是我迄今为止所尝试的:

1) 我打开了构建路径设置,并在源文件夹中添加了一个名为“资源”的文件夹

2) 我在文件夹中添加了两个名为“font”和“img”的文件夹,其中包含图像和字体文件

3) 我尝试以如下代码访问这些文件:

据说getClassLoader()为我提供了一条绝对路径,因此我选择了一条没有前导的路径
/

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…”;