如何在不使用虚拟类的情况下访问其他包中的文件
我实际上是使用以下代码在我的 java web 应用程序中加载 OWL 文件:
InputStream is = Dummy.class.getResourceAsStream("content.owl");
我在与 content.owl
相同的包中创建了 Dummy.class
来访问此文件。
是否有一种(重构安全)方法可以直接加载 content.owl
而无需虚拟类?
I am actually loading OWL files in my java web app with the following code:
InputStream is = Dummy.class.getResourceAsStream("content.owl");
I created Dummy.class
in the same package as content.owl
is to get access to this file.
Is there a (refactor-safe) way to load content.owl
directly without the need of a dummy class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您应该能够通过根据放置编译文件的输出文件夹的位置给出资源的相对路径来从任何类获取该资源。
例如,最初,资源文件位于 proj/src/a/b/content.owl 包中,而我访问此资源的类位于包 proj/src/a/b/c/d 中/MyClass.java。构建项目后,我的可执行文件位于 bin 文件夹下,我访问资源的类进入 proj/bin/a/b/c/d/MyClass.class 目录,资源进入 proj /bin/a/b/content.owl。
由于 bin 文件夹被指定为我的项目类路径中的输出文件夹,我可以使用以下代码访问资源:
I think you should be able to get that resource from any class by giving relative path of it according to location of output folder where your compiled files are put.
For example initially the resource file in proj/src/a/b/content.owl package and the class I access this resource is in package proj/src/a/b/c/d/MyClass.java. After building the project my executables go under bin folder and the class I access the resource goes to proj/bin/a/b/c/d/MyClass.class directory and resource goes into proj/bin/a/b/content.owl.
And as bin folder is specified as the output folder in classpath of my project, I can access to resource with the code: