Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

[Android新手学习笔记33]-Storage-文件存储

$
0
0
  1. public class MainActivity extends AppCompatActivity {
  2.    private EditText editText;
  3.    @Override
  4.    protected void onCreate(Bundle savedInstanceState) {
  5.        super.onCreate(savedInstanceState);
  6.        setContentView(R.layout.activity_main);
  7.        editText = (EditText) findViewById(R.id.edit_text);
  8.        String inputText = load();
  9.        if (!TextUtils.isEmpty(inputText)) {
  10.            editText.setText(inputText);
  11.            editText.setSelection(inputText.length());
  12.            Toast.makeText(this, "恢复成功", Toast.LENGTH_SHORT).show();
  13.        }
  14.    }
  15.    @Override
  16.    protected void onDestroy() {
  17.        super.onDestroy();
  18.        save(editText.getText().toString());
  19.    }
  20.    public void save(String inputText) {
  21.        FileOutputStream out = null;
  22.        BufferedWriter writer = null;
  23.        try {
  24.            out = openFileOutput("data", Context.MODE_PRIVATE);
  25.            writer = new BufferedWriter(new OutputStreamWriter(out));
  26.            writer.write(inputText);
  27.        } catch (FileNotFoundException e) {
  28.            e.printStackTrace();
  29.        } catch (IOException e) {
  30.            e.printStackTrace();
  31.        } finally {
  32.            try {
  33.                if (writer != null) {
  34.                    writer.close();
  35.                }
  36.            } catch (IOException e) {
  37.                e.printStackTrace();
  38.            }
  39.        }
  40.    }
  41.    public String load() {
  42.        FileInputStream in = null;
  43.        BufferedReader reader = null;
  44.        StringBuilder content = new StringBuilder();
  45.        try {
  46.            in = openFileInput("data");
  47.            reader = new BufferedReader(new InputStreamReader(in));
  48.            String line = "";
  49.            while ((line = reader.readLine()) != null) {
  50.                content.append(line);
  51.            }
  52.        } catch (FileNotFoundException e) {
  53.            e.printStackTrace();
  54.        } catch (IOException e) {
  55.            e.printStackTrace();
  56.        } finally {
  57.            if (reader != null) {
  58.                try {
  59.                    reader.close();
  60.                } catch (IOException e) {
  61.                    e.printStackTrace();
  62.                }
  63.            }
  64.        }
  65.        return content.toString();
  66.    }
  67. }

文件默认存储到/data/data/<packagename>/files/目录下。MODE_PRIVATE表示覆盖,MODE_APPEND表示追加。

作者:a191030148 发表于2017/2/18 23:42:32 原文链接
阅读:37 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>