如何打开应用程序包中的文本文件?

时间:2013-01-27 20:53:46

标签: android eclipse file-io java-io

使用Eclipse,Android SDK。

我有一个文本文件,里面装满了我需要的数据。(现在,这样更容易,最终我需要从URL中抓取动态数据,但是现在我有了测试数据我需要在这个文本文件中。)

我已经创建了一个打开此文件的类,但无论我如何尝试打开它,我都会保持“找不到文件”的例外情况。

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

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

2 个答案:

答案 0 :(得分: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.raw值(例如,res/raw/data.txt将通过getResources().openRawResource(R.raw.data)访问。)

答案 1 :(得分:0)

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

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

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