zoukankan      html  css  js  c++  java
  • android 文件缓存工具类

    /**
    * Json数据缓存的工具类
    *
    */
    public class CacheDataSd {


    /**
    *
    * @param context 当前对象
    * @param dir 创建的文件
    * @param requesturl 标志字段
    * @param jsondata json数据
    */
    public static void SaveSDByteArray(Context context, String dir,
    String requesturl, String jsondata) {
    String Directory=context.getExternalCacheDir()+File.separator +dir+File.separator;
    //首先判断目录是否存在,再具体判断文件是否存在
    //加载完成进行存储
    File dirs=new File(Directory);
    File cac=new File(dirs,requesturl);
    if(dirs.exists() && dirs.length()>0){
    if(cac.exists() && cac.length()>0){
    //不做任何操作
    }else{
    try {
    byte[] data = jsondata.getBytes("utf-8");
    FileOutputStream outf;
    outf=new FileOutputStream(Directory+requesturl);
    BufferedOutputStream bufferout = new BufferedOutputStream(outf);
    bufferout.write(data);
    bufferout.flush();
    bufferout.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }else{
    dirs.mkdirs();
    try {
    byte[] data = jsondata.getBytes("utf-8");
    FileOutputStream outf;
    outf=new FileOutputStream(Directory+requesturl);
    BufferedOutputStream bufferout = new BufferedOutputStream(outf);
    bufferout.write(data);
    bufferout.flush();
    bufferout.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }

    /**
    *
    * @param context 当前对象
    * @param dir 创建的文件
    * @param requesturl 标志字段
    * @param jsondata json数据
    */
    public static byte[] ReadSDByteArray(Context context, String dir,
    String requesturl) {
    ByteArrayOutputStream out;
    try {
    BufferedInputStream in = new BufferedInputStream(
    new FileInputStream(context.getExternalCacheDir()+File.separator + dir + File.separator +requesturl));
    out = new ByteArrayOutputStream(1024);
    byte[] temp = new byte[1024];
    int size = 0;
    while ((size = in.read(temp)) != -1) {
    out.write(temp, 0, size);
    }
    in.close();
    byte[] content = out.toByteArray();
    return content;
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }
    }
    }

  • 相关阅读:
    二战后的一些战争启示(弱国无外交)
    为了生存人类必须去探索宇宙
    不同版本Eclipse对JDK版本要求
    string 转 java对象、转map的方式
    原生JS实现全选,反选
    oracle批量update
    HttpURLConnection 当作请求调用接口不带返回参数的工具类
    sun.misc.BASE64Encoder在Eclipse中不能直接使用的原因和解决方案
    javamail 发送邮件demo(文字与附件)
    Linux ping不通百度的解决方法
  • 原文地址:https://www.cnblogs.com/fgjTarget/p/4097626.html
Copyright © 2011-2022 走看看