读取位于资源的GlassFish的Java
问题描述:
我有一个Maven的Java EE应用程序读取位于资源的GlassFish的Java
的路径文件是
~/Work/appname/WebContent/resources/json/menu.json
在位于这里的GlassFish文件部署后:
~/Tools/glassfish4/glassfish/domains/domain1/applications/appname/resources/json/menu.json
在此文件中以json格式存储菜单。 我需要对这个文件进行基本的crud(创建,读取,更新,删除)操作。
我试图获取文件是这样的:
InputStream inputStream = ModulMenuUtil.class.getClassLoader().getResourceAsStream("/menu.json");
我得到一个NullPointerException。我不知道如何获得这个文件的路径。请帮帮我。
答
确保您的json
文件夹和文件放置在src/main/resources
之下。
尝试以下操作:
this.getClass().getClassLoader().getResourceAsStream("json/menu.json");
或(不推荐)
Thread.currentThread().getContextClassLoader().getResourceAsStream("json/menu.json");
如果这两个方法都不奏效,你也可以尝试将文件放在你的src
文件夹的根。
参见:
+0
我用静态方法创建了一个Util类。此解决方案不适用于静态方法。你能用静态方法做什么? –
+0
第二种方法也适用于静态环境... – unwichtich
我还牛逼ry InputStream inputStream = ModulMenuUtil.class.getClassLoader()。getResourceAsStream(“json/menu.json”);不要工作。 –