数据存储(内部存储+外部存储)实际应用

package xdglyt.software.jhwz.myapplication11;
import android.content.Context;
import android.os.Environment;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;

public class Other {
    //内部存储
    //读文件
    public static String readInternalFile (Context context,String fileName){

        String data = null;
        try {
            FileInputStream fis = context.openFileInput(fileName);
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            data = new String(buffer);
            fis.close();
            return data;

        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }

    //写文件
    public static boolean writeInternalFile(Context context,String fileName,String data){

        try{
            FileOutputStream fos = context.openFileOutput(fileName,Context.MODE_PRIVATE);
            fos.write(data.getBytes());
            fos.close();
            return true;

        }catch (Exception e){
            e.printStackTrace();
            return false;
        }
    }

    //外部存储
    //读外部文件
   public static String readExternalFile(String fileName){
        String data = null;
        try {
            String state = Environment.getExternalStorageState();
            if(state.equals(Environment.MEDIA_MOUNTED)){
                File SDPath = Environment.getExternalStorageDirectory();
                File file = new File(SDPath,fileName);
                FileInputStream fis = new FileInputStream(file);
                BufferedReader br = new BufferedReader( new InputStreamReader(fis));
                data = br.readLine();
                fis.close();
                return data;
            }
            return data;
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }

    //写外部文件
    public static boolean writeExternalFile(String fileName,String data){

        try {
            //查看设备是否能用
            String state = Environment.getExternalStorageState();
            //Environment.MEDIA_MOUNTED  sd卡在手机上正常使用状态 
            //Environment.MEDIA_UNMOUNTED  用户手动到手机设置中卸载sd卡之后的状态 
            //Environment.MEDIA_REMOVED  用户手动卸载,然后将sd卡从手机取出之后的状态 
            //Environment.MEDIA_BAD_REMOVAL  用户未到手机设置中手动卸载sd卡,直接拨出之后的状态 
            //Environment.MEDIA_SHARED  手机直接连接到电脑作为u盘使用之后的状态 
            //Environment.MEDIA_CHECKINGS  手机正在扫描sd卡过程中的状态 
            if(state.equals(Environment.MEDIA_MOUNTED)){
                //获得SD卡的文件路径
                File SDPath = Environment.getDownloadCacheDirectory();
                //创建一个文件
                File file = new File(SDPath,fileName);
                FileOutputStream fos = new FileOutputStream(file);
                fos.write(data.getBytes());
                fos.close();
                return true;
            }
            return false;
        }catch (Exception e){
            e.printStackTrace();
            return false;
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

365JHWZGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值