Android Studio 文件读取、存储小记

Android Studio 文件读取、存储小记,第1张

Android Studio 文件读取、存储小记

一、从文件中读

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;
        }
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5660546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存