Android Studio 文件读取、存储小记

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

一、从文件中读

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

三、SharedPreferences适合小规模存取(一套用户名和密码)

package com.example.sharedpreferences;

import androidx.appcompat.app.AppCompatActivity;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import java.util.Locale;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    Button button1,button2;
    EditText editText;
    SharedPreferences sharedPreferences;
    @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.editText1);
        sharedPreferences=getSharedPreferences("A_FileName",MODE_PRIVATE);
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.button1:
                SharedPreferences.Editor editor=sharedPreferences.edit();
                editor.putString("name",editText.getText().toString().trim());
                editor.commit();
                break;
            case R.id.button2:
                String username=sharedPreferences.getString("name","N/A");
                editText.setText(username);
                break;
        }
    }
}

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

原文地址: https://outofmemory.cn/web/990017.html

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

发表评论

登录后才能评论

评论列表(0条)

保存