2

我正在使用来自普通 java 应用程序的代码开发一个 android 应用程序。在这个 java 应用程序中,我正在解析一个 XML 文件,如下所示:

File xmlFile = new File("../project/src/resources/words.xml");

现在在android中这似乎不起作用。我得到一个文件未找到异常。我试图将文件保存在res/xml目录中,但我不确定如何访问它。

我可以使用与我的 java 应用程序相同的代码来解析 XML,还是有一种特殊的方法来解析 android 中的 XML 文件?

4

2 回答 2

1

是什么../project/src/resources.words.xml?这是您开发机器上项目目录中的路径名吗?当然,Android 程序将无法访问您机器上定义的文件路径。

如果words.xml是您想要访问的静态文件,则应将其包含在/res/raw项目的子目录中。然后您可以使用此处文档中描述的方法访问它:

http://developer.android.com/reference/android/content/res/Resources.html#openRawResource(int )

或者,您可以将其放入/assets并使用此方法:

http://developer.android.com/reference/android/content/res/AssetManager.html

于 2012-04-05T21:16:35.550 回答
1

你可以做:

InputStream is = this.getResources().openRawResource(resourceId);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
... then read the content of the file as a stream ...

您的文件必须放在res/raw/yourfile与您的文件名相对应resourceId的整数中R.raw...R.raw.yourfile

于 2012-04-05T21:20:14.477 回答