如何存储我的文件以便稍后在Android中阅读

时间:2016-11-03 19:25:55

标签: android file

我正在做一个像Bilioner游戏一样的quastion游戏,但它关于历史课,也会有历史问题和主题表达。我想将我的问题存储在一个文件中并从这个文件中获取。还有我的主题文本。我不使用数据库(sqlite)我想用文件做。我不能存储在字符串中,因为它们很长。我正在将它们写入txt文件,我可以从那里读取它们。使用以下代码:

   try {
                FileOutputStream fileout=openFileOutput("abc.txt", MODE_PRIVATE);
                OutputStreamWriter outputWriter=new OutputStreamWriter(fileout);
                outputWriter.write("asddddddddddddddddddddddddddddddddddddd");
                outputWriter.close();

                //display file saved message
                Toast.makeText(getBaseContext(), "File saved successfully!",
                        Toast.LENGTH_SHORT).show();

            } catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(getBaseContext(), "error!",
                        Toast.LENGTH_SHORT).show();
            }


            try {
                FileInputStream fileIn=openFileInput("abc.txt");
                InputStreamReader InputRead= new InputStreamReader(fileIn);

                char[] inputBuffer= new char[1000];
                String s="";
                int charRead;

                while ((charRead=InputRead.read(inputBuffer))>0) {
                    // char to string conversion
                    String readstring=String.copyValueOf(inputBuffer,0,charRead);
                    s +=readstring;
                    Toast.makeText(getBaseContext(), s,
                            Toast.LENGTH_SHORT).show();

                }
                InputRead.close();
            } catch (Exception e) {
                e.printStackTrace();
                Toast.makeText(getBaseContext(), "error!",
                        Toast.LENGTH_SHORT).show();

            }

但我不想写txt文件。因为我不能写数据EVERYTİME。我想从现有的txt文件中读取它们。但我不能写,不能写。我应该在哪里将我的txt文件放在Android应用程序文件夹中,如何在阅读后找到它们?

1 个答案:

答案 0 :(得分:0)

将其放在res / raw文件夹中。然后你可以得到一个InputStream:

InputStream ins = getResources().openRawResource(
        getResources().getIdentifier("file",
        "raw", getPackageName()));