有时候需要保存app中的数据到手机上,大多是以文件存储的形式保存的。

我这里简单的给出文件工具类,可以实现对文件的保存、读取和删除操作。


工具类如下:

package com.example.demo.fileutil;import android.os.Environment;import android.util.Log;import android.widget.Toast;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;/** * Created by 邹奇 on 2017/7/18. * 文件工具类 */public class FileUtil {    /**     * 字符串保存到手机内存设备中     *     * @param str     */    public static void saveFile(String str, String fileName) {        // 创建String对象保存文件名路径        try {            // 创建指定路径的文件            File file = new File(Environment.getExternalStorageDirectory(), fileName);            // 如果文件不存在            if (file.exists()) {                // 创建新的空文件                file.delete();            }            file.createNewFile();            // 获取文件的输出流对象            FileOutputStream outStream = new FileOutputStream(file);            // 获取字符串对象的byte数组并写入文件流            outStream.write(str.getBytes());            // 最后关闭文件输出流            outStream.close();        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * 删除已存储的文件     */    public static void deletefile(String fileName) {        try {            // 找到文件所在的路径并删除该文件            File file = new File(Environment.getExternalStorageDirectory(), fileName);            file.delete();        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * 读取文件里面的内容     *     * @return     */    public static String getFile(String fileName) {        try {            // 创建文件            File file = new File(Environment.getExternalStorageDirectory(),fileName);            // 创建FileInputStream对象            FileInputStream fis = new FileInputStream(file);            // 创建字节数组 每次缓冲1M            byte[] b = new byte[1024];            int len = 0;// 一次读取1024字节大小,没有数据后返回-1.            // 创建ByteArrayOutputStream对象            ByteArrayOutputStream baos = new ByteArrayOutputStream();            // 一次读取1024个字节,然后往字符输出流中写读取的字节数            while ((len = fis.read(b)) != -1) {                baos.write(b, 0, len);            }            // 将读取的字节总数生成字节数组            byte[] data = baos.toByteArray();            // 关闭字节输出流            baos.close();            // 关闭文件输入流            fis.close();            // 返回字符串对象            return new String(data);        } catch (Exception e) {            e.printStackTrace();            return null;        }    }}

如果想保存数据,调用方法:

String save_data = "this is saved data!";                // 保存数据到txt文件中                FileUtil.saveFile(save_data, "save.txt");// 保存为了一个txt文本

如果想读取数据,调用方法:

// 读取保存的文件数据                String data = FileUtil.getFile("save.txt");

如果想清除缓存,或者注销登录后删除保存的文件,调用方法:

// 删除保存的文件                FileUtil.deletefile("save.txt");

使用起来很简单,大家可以参考学习!


  • 最后别忘记添加一些必要的权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

I AM CODEMAN

==================================

每天进步一点点!加油!

更多相关文章

  1. 关于android:configChanges="keyboardHidden|orientation"
  2. Android培训班(68)dex文件打开流程
  3. 全局捕获异常,并输出到日志文件
  4. Android(安卓)Studio快速上手
  5. android studio aar 添加依赖
  6. Android(安卓)中LayoutInflater的使用!
  7. 【Android】原生安装和卸载应用
  8. Android(安卓)actionbar左侧小箭头的隐藏
  9. android jni入门基础

随机推荐

  1. Android使用第三方SDK实现百度地图
  2. 第七篇 ScrollView控件
  3. 最佳的免费移动设备的原型模板文件下载
  4. Android(安卓)Studio如何修改快捷键
  5. android 发布正式版时用Gradle移除日志打
  6. Android报错集锦之二:Android studio 3.0
  7. Android——Intent动作汇总
  8. 设置图片缩放方法失效 解决办法设置andro
  9. android获取CPU参数(命令行方式)
  10. Android简单音乐播放实例