Android下openfileoutput和openfileinput的使用

    xiaoxiao2021-03-25  86

    package com.itheima74.test; import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.EditText; import android.widget.Toast; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class MainActivity extends AppCompatActivity { private EditText et; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et = (EditText) findViewById(R.id.et); // 回显用户上次输入的内容 String content = this.read(); if (!content.isEmpty()) { et.setText(content); et.setSelection(content.length()); Toast.makeText(this, "Restoring successed", Toast.LENGTH_SHORT).show(); } } /** * 读取路径data/data/<packagename>/files/data文件中的内容并返回 * * @return 读取到的内容 */ private String read() { StringBuilder sb = new StringBuilder(); BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(openFileInput("data"))); String line; while ((line = br.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } return sb.toString(); } @Override protected void onDestroy() { super.onDestroy(); String content = et.getText().toString(); this.save(content); } /** * 保存edittext文本框中用户输入的内容 * * @param content 用户输入的内容 */ private void save(String content) { FileOutputStream fos = null; try { // 文件存放路径data/data/<packagename>/files/data fos = openFileOutput("data", Context.MODE_PRIVATE); fos.write(content.getBytes()); } catch (IOException e) { e.printStackTrace(); } finally { if (fos != null) { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
    转载请注明原文地址: https://ju.6miu.com/read-25301.html

    最新回复(0)