【发布时间】:2017-06-03 07:21:21
【问题描述】:
我正在使用为 Android 中的桌面应用程序创建的 jar。
这个jar里面有一些配置文件,可以通过读取
(code from .jar)
InputStream fXmlFile = Object.class.getResourceAsStream("/aaa/config/interface_config.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
上述代码在桌面应用程序中运行良好,但在 Android 上作为导入库使用时会给出以下结果:
06-02 05:36:44.748: W/System.err(12001): java.lang.IllegalArgumentException: InputStream cannot be null
06-02 05:36:44.748: W/System.err(12001): at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:103)
这表明Object.class.getResourceAsStream("/aaa/config/interface_config.xml")
正在返回null
我查看了生成的 apk 内部,发现 /aaa/config/interface_config.xml 存在。
我的问题是,Object.class.getResourceAsStream 在 Android 中会按预期工作吗?我期待的是getResourceAsStream("absolutePath") 在 apk 中返回 "absolutePath" 中的资源,就像它通常在 jar 中那样。
【问题讨论】: