一、从文件中读
1、首先利用openFileInput()方法,创建一个FileInputStream
FileInputStream fileInputStream=openFileInput("user.txt")
2、利用fileInputStream.available()方法检测已经打开的文件的二进制数据流最大值,用于创建数组
byte[] bytes=new byte[fileInputStream.available()]
3、把读到的信息存储进数组
fileInputStream.read(bytes)
4、关闭文件
fileInputStream.close()
二、向文件中写
1、利用openFileOutput方法,创建一个FileOutputStream
FileOutputStream fileOutputStream=openFileOutput("user.txt",MODE_APPEND)
参数MODE_APPEND表示在文件内原有内容的后面继续写
参数MODE_PRIVATE表示删除文件内原有内容重新写
2、剩下的工作就是把准备好的二进制文件利用fileOutputStream.write()方法写进文件,写完之后把文件关闭。
public class MainActivity extends AppCompatActivity implements View.onClickListener {
Button button1,button2;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1=findViewById(R.id.button1);
button2=findViewById(R.id.button2);
editText=findViewById(R.id.editTextTextPersonName);
button1.setonClickListener(this);
button2.setonClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
//button1 向文件中写
case R.id.button1:
try {
FileOutputStream fileOutputStream=openFileOutput("user.txt",MODE_APPEND);
String content=editText.getText().toString().trim();
fileOutputStream.write(content.getBytes());
fileOutputStream.close();
}catch (Exception e){
e.printStackTrace();
}
break;
//button2 从文件中读
case R.id.button2:
try {
FileInputStream fileInputStream=openFileInput("user.txt");
byte[] bytes=new byte[fileInputStream.available()];
fileInputStream.read(bytes);
String content=new String(bytes);
Log.i("fis",content);
fileInputStream.close();
}catch (Exception e){
e.printStackTrace();
}
break;
}
}
}



