代码改变世界

Io流存入和读取

2017-07-13 20:21  烈'焰  阅读(187)  评论(0编辑  收藏  举报

1.首先设置布局可以输入

2.在onCreate()方法中得到 id

3.定义一个方法用来向文件写入(记得一定要关闭写入流,要不然可能写入不了

4,定义一个方法得到输入的值,并且传入到写入文件中

下面程序为关闭后再保存到文件中

public class MainActivity extends AppCompatActivity {
    EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       editText= (EditText) findViewById(R.id.et);
    }

    @Override
    protected void onDestroy()  {
        super.onDestroy();
       String et= editText.getText().toString();
        seave(et);
    }

    public  void seave(String input)  {
        FileOutputStream out = null;
        BufferedWriter writer = null;
        try {
            out = openFileOutput("data", Context.MODE_PRIVATE);
            writer = new BufferedWriter(new OutputStreamWriter(out));
            writer.write(input);
        } catch (Exception e) {}finally {
            try {
            if (writer!=null){
                    writer.close();
                }
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

 

 

读取文件夹中的内容

1.FileInputStream is;  获取文件

BuffereReader read = new Buff(new Input(is)),

StringBuilder content = new String;  这是字符串容器,可以将读取到的文件存入里面以便于补充内容,和修改内容。

 

TextUtils.isEmpty()判断读取字符串是否为空,空的时候返回   true

setText(),将获取的能容添加到你指定的地方,

setSelection(),将光标固定到最后

  //读取文件
    public String load() {
        FileInputStream is =null;
        BufferedReader reader = null;
        StringBuffer content = new StringBuffer();
        try {
             is= openFileInput("data");
            reader = new BufferedReader(new InputStreamReader(is));
            String line = null;
            if ((line =reader.readLine())!=null){
                content.append(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            if (reader!=null){
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return content.toString();
        }
    }

 徐I改后的Oncreate()

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       editText= (EditText) findViewById(R.id.et);

       String input = load();//获取到读取的字符串
        if (!TextUtils.isEmpty(input)){//判断读取的字符是否为空
            editText.setText(input);//添加到输入框中
            editText.setSelection(input.length());//这一句是将光标移动到最后位置以便于添加内容
            Toast.makeText(getApplicationContext(),input,Toast.LENGTH_SHORT).show();
        }
    }