运行时错误inputstream不能为null

时间:2011-05-11 07:57:11

标签: java android

我的logcat中有这个运行时错误:

05-11 06:24:23.672: ERROR/AndroidRuntime(327): java.lang.RuntimeException: 
    Unable to create application net.osmand.activities.OsmandApplication:
    java.lang.IllegalArgumentException: InputStream cannot be null

...

调试后我发现异常如何?  在这个方法中:

private BaseOsmandRender loadRenderer(String name, Set<String> loadedRenderers) throws IOException, SAXException {
        InputStream is = null;
        if(externalRenderers.containsKey(name)){
            is = new FileInputStream(externalRenderers.get(name));
        } else if(internalRenderers.containsKey(name)){
            is = OsmandRenderingRulesParser.class.getResourceAsStream(internalRenderers.get(name));
        } else {
            throw new IllegalArgumentException("Not found " + name); //$NON-NLS-1$
        }
        BaseOsmandRender b = new BaseOsmandRender();
        b.init(is);
        loadedRenderers.add(name);
        List<BaseOsmandRender> dependencies = new ArrayList<BaseOsmandRender>();
        for (String s : b.getDepends()) {
            if (loadedRenderers.contains(s)) {

“是”变量始终为空

任何帮助,请

2 个答案:

答案 0 :(得分:0)

如果我没记错的话,getResourceAsStream如果无法找到资源,则会返回null。我怀疑这是你问题的原因。

答案 1 :(得分:0)

对应用程序资源中的文件存在一些疯狂的限制。 如果您尝试加载资源,请尝试为它们制作* .mp3扩展名。它的魔力。