使用openFileInput和openfileOutput方法读写应用程序数据文件夹下的文件

 final String FILE_NAME = "lxmTest.bin";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btnRead = (Button)findViewById(R.id.btn_read);
        Button btnWrite = (Button)findViewById(R.id.btn_write);

        //读
        btnRead.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //获取上次写入的信息

               String read = read();
                TextView textView = (TextView)findViewById(R.id.tv_read);
                textView.setText(read);
            }
        });
        //写
        btnWrite.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EditText editText = (EditText)findViewById(R.id.edTxt_writeContent);
                write(editText.getText().toString());

            }
        });
    }

    //读文件
    private String read(){
        StringBuffer strRead = new StringBuffer();
        try{

            FileInputStream fileInputStream = openFileInput(FILE_NAME);
            int hasRead = 0; //读到的数据长度
            byte [] byteBuffer = new byte[1024];
            while ((hasRead = fileInputStream.read(byteBuffer)) > 0){
                strRead.append(new String(byteBuffer,0,hasRead));
            }
            fileInputStream.close();
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }
        return strRead.toString();
    }
    //写文件
    private void write(String strWrite){
        try{
            FileOutputStream fileOutputStream = openFileOutput(FILE_NAME,MODE_APPEND);
            PrintStream printStream = new PrintStream(fileOutputStream);
            printStream.println(strWrite);
            printStream.close();
            fileOutputStream.close();
        }catch (FileNotFoundException e){
            e.printStackTrace();
        }catch (IOException e){
            e.printStackTrace();
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值