试图在android中读取txt文件

时间:2013-04-24 01:17:52

标签: android file-io

我正在尝试读取我项目中的txt文件。我一直得到异常FileNotFound并且不知道为什么。该文件位于AnroidManifest XML下的项目文件夹中,但无论如何它仍然很好地隐藏了我。请帮忙,因为我会因此而感到沮丧。我知道我可以使用Raw和Assets来读取txt文件,但我需要能够写入这个txt文件并读取它。

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    FileInputStream getIn;
    try {
        getIn = openFileInput("filenames.txt");
        //Creating an InputStreamReader and setting my FileInputStream
        InputStreamReader read = new InputStreamReader(getIn);
        //Creating a new BufferReader and adding the InputStreamReader
        BufferedReader dis = new BufferedReader(read);
        Toast.makeText(getApplicationContext(), dis.readLine(), Toast.LENGTH_SHORT).show();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}

2 个答案:

答案 0 :(得分:2)

不要将文件存储在资产中。转到YourProject / res并创建一个名为raw的目录并将其存储在那里。

您也可以将文件存储在内部存储中,但我怀疑res / raw方法更适合您的用途。

阅读本文:

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

答案 1 :(得分:0)

您不能将文件放在应用程序的主文件夹中,其中Manifest文件也存在。 openFileInput(“filenames.txt”)函数仅在您尝试读取或写入手机内存中以下路径中存在的文件时才有效

/data/data/<application-package>/files/<file-name>

您可以做的一件事是当您第一次运行应用程序时保存文件,然后再读取或写入该文件。