[英]Accessing a file within Java project
我有一个使用第三方应用程序的Java项目。 我将许可证文件(.lic格式)存储在资源文件夹中。 运行Ant脚本后,它将把该项目汇总到Jar文件中以供在服务器上使用时,将该文件复制到/ lib / jar目录中。 这是我在实时运行系统时需要访问文件的地方。 这是文件夹结构的外观
MyProject
src
package
AccessingClass.java
resources
File.lic
lib
jar
File.lic (upon copy from Ant)
我不确定执行此操作的最佳方法,因此,除我一直尝试的方法外,其他任何建议都可能会有所帮助。 第三方项目在类如License.setLicense()中有一个方法,该方法可以将String移到文件的位置或InputStream。
我一直在为它提供InputStream,但在调用getClass()。getResourceAsStream()时总是得到null值。 这是我尝试过的一切:
作为备份,我也尝试过(对于本地版本,我想我会尝试使用资源文件夹):
是否有更好的方法来执行此操作? 还是有人可以告诉我为什么我尝试的失败? 提前谢谢。
首先,您需要确保在类path中添加了JAR
。
下面应该工作。
InputStream inputStream =
getClass().getClassLoader().getResourceAsStream("/resources/File.lic");
假设File.lic
放在jar的根文件夹中。
您是独立运行此代码还是在IDE环境中运行,看起来像类路径问题。 如果在命令提示符下运行,则在ide中必须将classpath设置为lib dir,以确保资源dir在classpath中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.