FileUtils---本地存储工具类

文本读写:

向本地存储写入内容: 

    /**
     * 向本地文件写入内容
     *
     * @param content  内容
     * @param fileName 在根目录基础上存储的文件夹路径
     * @param isAppend 是否追加
     */
    protected void writerFile(String content, String fileName, Boolean isAppend) {
        content = "\n" + content;
        //获取当前sdcard的工作目录
        File sdcard = Environment.getExternalStorageDirectory();
        if (!sdcard.exists()) {
            Toast.makeText(getContext(), "当前系统不具备SD卡目录", Toast.LENGTH_LONG).show();
            return;
        }
        String path = sdcard + File.separator;
        File myFile = new File(path + fileName);
        //如果sdcard的状态为可读写
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            try {
                if (!myFile.exists()) myFile.mkdirs();
                //fileName为要写入的文件名,如果不存在会自动创建
                FileOutputStream fileOutputStream = new FileOutputStream(myFile, isAppend);
                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
                //写入文件值,content为要写入值的变量
                outputStreamWriter.write(content);
                outputStreamWriter.flush();
                outputStreamWriter.close();
                //关闭文件流
                fileOutputStream.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else {
            toast("sdcard 不可用");
        }
    }

示例: 

writerFile("value", “BaiCaiPosTest/configure.txt”, false);

读取本地存储的内容:

    /**
     * 从本地文件读取内容
     *
     * @param fileName 在根目录的基础上,文件夹路径
     * @return 读取到的内容
     */
    public static String readFile(String fileName) {
        //定义一个文件输入流
        FileInputStream fileInputStream = null;
        File myFile = null;
        String path = null;
        StringBuffer buffer = null;
        //获取当前sdcard的工作目录
        File sdcard = Environment.getExternalStorageDirectory();
        //判断是否有读写操作的权限
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            try {
                //文件输入流打开文件
                path = sdcard + File.separator;
                myFile = new File(path + fileName);
                fileInputStream = new FileInputStream(myFile);
                //声明StringBuffer用来保存读取到的信息
                buffer = new StringBuffer();
                //每一次要读取的字节
                byte[] bs = new byte[1024];
                //用来判断是否读取完毕的临时变量
                int len;
                while ((len = fileInputStream.read(bs)) != -1) {
                    buffer.append(new String(bs));
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //关闭文件流
                try {
                    if (fileInputStream != null) fileInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return buffer != null ? buffer.toString().trim() : "";
    }

示例: 

FileUtils.readFile("BaiCaiPosTest/configure.txt");

获取目录:

获取存储根目录:
String file = Environment.getExternalStorageDirectory().getAbsolutePath()
获取应用名下的fils目录(Android\data\包名\files):
File file = Application.getExternalFilesDir("目录");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值