Android:如何在res文件夹中从R.raw获取文件路径?

时间:2013-12-24 01:51:21

标签: android

我在android res文件夹中的文件夹raw中有一个名为words.txt的文本文件。我不知道如何使用给定路径创建新文件。我使用下面的代码,但似乎它不起作用:

File file = new File("res/raw/words.txt").getAbsoluteFile();
String filePath = file.getAbsolutePath();
File wordFile = new File(filePath);

2 个答案:

答案 0 :(得分:3)

您可以按如下方式阅读raw/words.txt

// The InputStream opens the resourceId and sends it to the buffer
InputStream is = this.getResources().openRawResource(R.raw.words);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String readLine = null;

try {
    // While the BufferedReader readLine is not null 
    while ((readLine = br.readLine()) != null) {
    Log.d("TEXT", readLine);
}

// Close the InputStream and BufferedReader
is.close();
br.close();

} catch (IOException e) {
    e.printStackTrace();
}

注意:此代码必须位于Activity类内,因为this.getResources()指的是Context.getResources()

答案 1 :(得分:0)

您无法写入自己应用的资源文件夹。它不可修改。

你可以在这里创建一个文件: http://developer.android.com/reference/android/content/Context.html#getFilesDir%28%29

如果您想使用words.txt作为基线,您可以从中读取并在运行时将其复制到可修改的文件中。