繁体   English   中英

如何引用不在 Jar 文件中的资源?

[英]How to reference resources not within the Jar file?

我有一个使用一些资源文件的 Java 项目。 我想将项目捆绑到一个 jar 文件中,但我仍然需要能够引用资源文件。 我不希望将这些资源捆绑到 jar 中,因为最终用户需要能够对它们进行更改。

那么有没有办法让 jar 文件在包含 jar 的目录中查找资源? 不是在罐子里吗?

所以像下面这样,其中 jar 文件是指资源目录中包含的文件:

C:/MyDirectory/
   |- project.jar
   |- resources/
       |- resourceFile.txt 
String myGreatResourceLocation = "c://MyDirectory/resources/resourceFile.txt";

java.nio.file.Path myGreatResource = java.nio.file.Paths.get( myGreatResourceLocation );

因此,您可以使用java.nio.file.Files.readAllLines()访问资源的数据,还有其他可用的方法。 如果您只是为了获取字符串而阅读, readAllLines()会很棒,因为它允许您指定字符集,这将使您免于以后的麻烦。

但是请注意,如果有人将您的 jar 文件用于 Web 应用程序,它通常将无法读取您的数据(您必须检查您的 Web 或应用程序服务器的文档)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM