安卓保存内容到内置存储


参考:https://www.jianshu.com/p/540e44f00d3e

我们把内容保存的内置存储里面。(直接封装成一个类)

/**
 * @author 小游
 */
public class FileUtil {

    /**
     * 读取文件
     * @param context 当前上下文
     * @param mFileName 文件名字
     * @return
     */
    public static String read(Context context,String mFileName) {
        try {
            FileInputStream inStream = context.openFileInput(mFileName);
            byte[] buffer = new byte[1024];
            int hasRead = 0;
            StringBuilder sb = new StringBuilder();
            while ((hasRead = inStream.read(buffer)) != -1) {
                sb.append(new String(buffer, 0, hasRead));
            }
            inStream.close();
            return sb.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 读取本地的bitmap文件
     * @param context 当前上下文
     * @param file 文件夹名
     * @return 返回bitmap对象
     */
    public static Bitmap getBitmap(Context context,String file){
        //最大读取10M的图片
        byte[] buf = new byte[1024*1024*10];
        Bitmap bitmap = null;
        try {
            FileInputStream fis = context.openFileInput(file);
            int len = fis.read(buf, 0, buf.length);
            bitmap = BitmapFactory.decodeByteArray(buf, 0, len);
            if (bitmap == null) {
                return null;
            }
            fis.close();
        } catch (Exception e) {
            return null;
        }
        return bitmap;
    }

    /**
     * 写文件到本地存储
     * @param msg 写的二进制内容
     * @param context 当前上下文
     * @param mFileName 文件夹名字
     */
    public static void write(byte[] msg,Context context,String mFileName) {
        if (msg == null) {
            return;
        }
        try {
            FileOutputStream fos = context.openFileOutput(mFileName,Context.MODE_PRIVATE);
            fos.write(msg);
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

文章作者: 小游
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小游 !
  目录