Android - 缓冲 reader 和 PrintWrite 来保存数据

Android - Buffered reader and PrintWrite to save data

 public void loadFile(File infile) throws FileNotFoundException {
        InputStream inputStream = openFileInput(String.valueOf(infile));
        System.out.println("=====READING========");
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader sc = new BufferedReader(inputStreamReader);
            String temp = "";
                while ( (temp = sc.readLine()) != null ) {
                    System.out.println(sc.readLine());
        }
        inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

这是reader

public void saveGame(File outFile) throws FileNotFoundException {
    // Name + UserInfo + CVList+
    FileOutputStream os = openFileOutput(String.valueOf(outFile), Context.MODE_PRIVATE);
    PrintWriter printWriter = new PrintWriter (os); //set up a writer
    String content=userInfo.toString();
    content=content+ tempList.toString();//set up the data to be printed
    printWriter.println (content);//print it
    System.out.println(content);
    printWriter.flush();
    printWriter.close ();
}

我是作家。

我刚刚通过谷歌搜索找到了 r/w .txt 文件的方法。

代码有效,但我想知道,因为这是 android 版本。

1。 文本文件存储在哪里?我可以看到 InputStreamReader 和 FileOutputStream 正在做一些事情,但它在做什么?

2。 应用程序更新时,文本文件会被删除吗?

  1. 是否有可能以某种方式获取 PrintWriter 写入的文本文件列表并删除其中一个? (比如删除选定的存档文件)
  1. 文件存储在您应用的私有目录中。只有您的应用可以 read/write 这些文件。
  2. 不,不会。它会保留在那里,但会在卸载时或在 android 应用程序设置的 "clearing data" 上被删除。
  3. 您需要知道您创建的文件的名称才能read/write/删除它。