删除应用程序后读取持久性数据

时间:2018-06-20 15:04:35

标签: android

我想将数据写入文件或从文件读取数据。

我已经搜索并找到了两种可以正常工作的方法。

public void writeToFile(String data,Context context) {
        try {
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("config.txt", Context.MODE_PRIVATE));
            outputStreamWriter.write(data);
            outputStreamWriter.close();
        }
        catch (IOException e) {
            Log.e("Exception", "File write failed: " + e.toString());
        }
    }

    public String readFromFile(Context context) {

        String ret = "";

        try {
            InputStream inputStream = context.openFileInput("config.txt");

            if ( inputStream != null ) {
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
                String receiveString = "";
                StringBuilder stringBuilder = new StringBuilder();

                while ( (receiveString = bufferedReader.readLine()) != null ) {
                    stringBuilder.append(receiveString);
                }

                inputStream.close();
                ret = stringBuilder.toString();
            }
        }
        catch (FileNotFoundException e) {
            Log.e("login activity", "File not found: " + e.toString());
        } catch (IOException e) {
            Log.e("login activity", "Can not read file: " + e.toString());
        }

        return ret;
    }

但是当我从Android设备上删除该应用程序时,该文件将被删除。

如果用户删除了该应用程序,是否有任何方法可以保存和检索数据?

1 个答案:

答案 0 :(得分:2)

不能。删除应用程序时,将删除其本地存储中的文件。

但是,您可以将文件保存在外部目录中。这样,当用户删除应用程序时,它们不会被删除。您可以详细了解here