Android文件存储和读取方式
16lz
2021-01-26
Android文件存储和读取方式主要用到两个方法,第一个是文件写入方法OpenFileOutput();返回的是FileOutputStream对象,第二个是文件读取方法OpenFileInput();返回的是FileIntputStream对象。
文件写入方式:
- 1.首先通过OpenFileOutput()方法,这个方法传人两个参数,第一个参数是文件名,第二个参数是文件的操作模式,获得FileOutputSteam对象
FileOutputStream out = OpenFileOutput("content",Context.MODE_PRIVATE);
- 2.通过Java I/O流进行读写操作
String data="Hello World!"BufferWriter writer = new BufferWrite(new OutputStreamWriter(out));writer.write(data);
文件读取方式:
- 1.首先通过OpenFileInput()方法,这个方法传入一个参数,文件名,获得FileInputStream对象
FileInputStream in = OpenFileInput("content");
- 2.通过Java I/O流进行读写操作
BufferReader reader = new BufferReader(new inputStreamReader(in));StringBuilder data = new StringBuilder();String line;while((line=reader.readLine())!=null){ data.append(line);}
完整的Java代码
package com.example.kevin.filetest;import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class MainActivity extends Activity { private EditText write; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); write = (EditText) findViewById(R.id.write); String inputText = load(); //TextUtils.isEmpty判断字符是否null或空字符,是的就返回true if (!TextUtils.isEmpty(inputText)) { write.setText(inputText); write.setSelection(inputText.length()); Toast.makeText(getApplicationContext(), "读取结果返回成功", Toast.LENGTH_LONG).show(); } } @Override protected void onDestroy() { super.onDestroy(); String data = write.getText().toString(); save(data); } //保存文件操作 private void save(String data) { FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("content", MODE_APPEND); writer = new BufferedWriter(new OutputStreamWriter(out)); writer.write(data); } catch (IOException e) { e.printStackTrace(); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { e.printStackTrace(); } } } //读取文件操作 private String load() { FileInputStream in = null; BufferedReader reader = null; StringBuilder content = new StringBuilder(); try { in = openFileInput("content"); reader = new BufferedReader(new InputStreamReader(in)); String line = ""; while ((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(); }}
更多相关文章
- android 小练习(一) ---仿微信UI主界面
- kotlin技巧和细节整理
- Android(安卓)Fragment的三种应用方式
- Android面试题小结
- Android(安卓)Studio报错--记一次学习官方Room教程时踩的各种坑
- Android(安卓)Window与WindowManager 理解与源码分析
- android:OKHttp的使用
- Android倒计时神器(CountDownTimer)
- Android复习笔记(6) -BrodCastReceiver (广播接收者