一、从文件中读
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; } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)