首页 > 解决方案 > 删除应用时读取持久性数据

问题描述

我想在文件中写入和读取数据。

我已经搜索并找到了这两种完美运行的方法..

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 设备中删除应用程序时,这个文件正在被删除。

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

标签: android

解决方案


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

但是,您可以将文件保存在外部目录中。这样,当用户删除应用程序时,它们不会被删除。你可以在这里阅读更多关于它的信息。


推荐阅读