Java getResource(";)是/bin文件夹

Java getResource(";)是/bin文件夹,java,classloader,Java,Classloader,我在Stackoverflow中读过至少3到4个这样的问题,但令人惊讶的是,我无法找出这里的错误。当我构建我的项目时,编译的类被移动到文件夹“/bin”中,当我尝试使用 classLoader.getResource("/files/file1.txt") Classloader找不到它,因为它将“path/to/projectName/bin”视为其根文件夹 classLoader.getResource(".") 这样就回来了 /路径/到/projectName/projectNam

我在Stackoverflow中读过至少3到4个这样的问题,但令人惊讶的是,我无法找出这里的错误。当我构建我的项目时,编译的类被移动到文件夹“/bin”中,当我尝试使用

 classLoader.getResource("/files/file1.txt")
Classloader找不到它,因为它将“path/to/projectName/bin”视为其根文件夹

 classLoader.getResource(".")
这样就回来了

/路径/到/projectName/projectName/bin

不是

/路径/收件人/项目名称/项目名称/


因此,我无法访问/path/to/projectName/files/folder。你知道我做错了什么吗

除了错误阅读文档之外,您没有做错任何事情。类加载器从类路径加载资源,因此只能从类路径中的目录和JAR加载资源


如果要从任意位置读取文件,请使用文件IO,而不是类加载器方法。

除了错误读取文档之外,您没有做错任何事情。类加载器从类路径加载资源,因此只能从类路径中的目录和JAR加载资源


如果要从任意位置读取文件,请使用文件IO,而不是类加载器方法。

如果要加载的文件是配置等资源,则可以在类路径上添加
文件
文件夹,并直接搜索名为的文件

classLoader.getResource("file1.txt");
如果它只是任意文件,并且出于可移植性的原因,您不想提供绝对路径,那么您可以通过提供相对路径,尝试使用文件API加载该文件

File file = new File("files/file1.txt");

如果您正在加载的文件是诸如配置等资源,那么您可以在classpath上添加
files
文件夹,并直接搜索带有名称的文件

classLoader.getResource("file1.txt");
如果它只是任意文件,并且出于可移植性的原因,您不想提供绝对路径,那么您可以通过提供相对路径,尝试使用文件API加载该文件

File file = new File("files/file1.txt");

/files
文件夹不在类路径上,因此不能从
类加载器中使用。直接从文件系统获取它们或将它们放在类路径上。
/files
文件夹不在类路径上,因此无法从
类加载器中获取。直接从文件系统获取它们或将它们放在类路径上。