0

使用 Eclipse、Android SDK。

我有一个包含我需要拉入的数据的文本文件。(现在,这是更简单的方法,最终我需要从 URL 中抓取动态数据,但现在我有我需要的测试数据此文本文件)。

我创建了一个类来打开这个文件,但无论我如何尝试打开它,我都会遇到“找不到文件”异常。

我尝试将我的“data.txt”文件放在各种相对路径中(在我的应用程序中):
-“/AppName/”
-“/AppName/src/com/example/appname/data.txt”

我试过传递不同的相对路径。我尝试将文本文件放在试图打开它的 .java 类文件的同一路径中,但它仍然找不到它!我究竟做错了什么?

4

2 回答 2

1

我究竟做错了什么?

您有两个主要选项可以选择将此文件存储在项目目录中的位置:assets/res/raw/.

如果您使用assets/,您可以调用getAssets()您的Activity(或其他Context),并在那里调用open()其中的相对路径assets/以获取InputStream该文件的一个(例如,assets/data.txt将通过 访问getAssets().open("data.txt"))。

如果您使用res/raw/,您可以调用getResources()您的Activity(或其他Context),并在那里调用,根据您的文件名openRawResource()传入值(例如,将通过 访问)。R.rawres/raw/data.txtgetResources().openRawResource(R.raw.data)

于 2013-01-27T21:00:56.083 回答
0

使用 /res/raw 目录。我从原始读取声音文件:

InputStream soundFile1 = context.getResources().openRawResource(soundOneId);

其中 context 是传递给类的活动的基本上下文。 http://developer.android.com/reference/android/content/Context.html

于 2013-01-27T21:00:14.653 回答