使用Eclipse,Android SDK。
我有一个文本文件,里面装满了我需要的数据。(现在,这样更容易,最终我需要从URL中抓取动态数据,但是现在我有了测试数据我需要在这个文本文件中。)
我已经创建了一个打开此文件的类,但无论我如何尝试打开它,我都会保持“找不到文件”的例外情况。
我尝试将我的“data.txt”文件放在各种相对路径中(在我的App中):
- “/ AppName /”
- “/AppName/src/com/example/appname/data.txt”
我尝试过不同的相对路径。我已经尝试将文本文件放在试图打开它的.java类文件的同一路径中,它仍然无法找到它!我做错了什么?
答案 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