如何按名称从android的assets文件夹加载xml文件

时间:2011-02-17 22:51:30

标签: android xml file-io

我正在尝试使用此方法按名称加载位于android项目的/ assets文件夹中的xml文件:

getAssets().openXmlResourceParser("thefilename.xml");

但是,执行此代码始终会抛出“FileNotFound”异常,即使该文件位于/ assets文件夹中并且具有正确的文件名。 现在,我还没有将文件放在/ res / xml文件夹中,因为我真的需要能够1.在设备上编辑文件,最重要的是2.将新的xml文件添加到应用程序而不发布更新,允许简单的用户修改。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

我认为您要找的是getAssets().open("thefilename.xml")getAssets().openFd("thefilename.xml"),具体取决于文件的最终用途。您可以在这篇文章中看到Dianne的回复,openXmlResourceParser()仅仅是为了获取对assets /目录中文件的访问权限http://goo.gl/2KfgT

从那里你将有一个流可以提供给SAXParser或做你选择的其他任何事情。

附注:关于您提到的要点,您实际上无法直接在资产中编辑文件/或在运行时将新文件添加到资产/。您需要使用内部或外部存储上的文件来执行这些操作。你可能已经知道了,但我想我会提到它。

希望有帮助!