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;
}
}
}

时间: 2024-10-12 00:26:36

android 文件缓存工具类的相关文章

Android 文件读写工具类

自己写的工具类,写的不好,慢慢修改. 记得加上权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> package com.sy.utils; import android.con

Android之文件读写工具类

本工具类永久维护,永久更新,如果各位读者发现有bug或者不合理之处,欢迎指正,博主将第一时间改正. 以下是主要内容,本类主要功能有: 1.创建文件功能: 2.向文件中写入字节数组: 3.向文件中写入字符串: 4.从文件中读取字节数组: 5.从文件中读取字符串: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; /** * 文件读写工具类 * * @author bear *

Android常用的工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.SerializeUtils.S

缓存工具类

安卓开发一般都需要进行数据缓存,常用操作老司机已为你封装完毕,经常有小伙伴问怎么判断缓存是否可用,那我告诉你,你可以用这份工具进行存储和查询,具体可以查看源码,现在为你开车,Demo传送门. 站点 缓存工具类 → AppACache put : 保存String数据到缓存中getAsString : 读取String数据getAsJSONObject : 读取JSONObject数据getAsJSONArray : 读取JSONArray数据getAsBinary : 获取byte数据getAs

android文件缓存管理

缓存类  : public class ConfigCache { private static final String TAG = ConfigCache.class.getName(); public static final int CONFIG_CACHE_MOBILE_TIMEOUT = 3600000; //1 hour public static final int CONFIG_CACHE_WIFI_TIMEOUT = 300000; //5 minute public sta

一个使用命令行编译Android项目的工具类

一个使用命令行编译Android项目的工具类 简介 编译apk项目需要使用的几个工具,基本都在sdk中,它们分别是(Windows系统): 1.aapt.exe 资源打包工具 2.android.jar Android编译工具 3.dx.bat dex文件生成工具 4.sdklib.jar 生成apk 5.jarsigner 签名工具 准备 在打包前,需要的环境如下: 1.JDK1.6+ 2.Android SDK 3.上述5个工具的路径 打包过程 1.生成R.java文件 比如: aapt p

分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!

using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Caching; using System.Text; using System.Threading.Tasks; namespace AutoLogisticsPH.Common.Utils { /// <summary> /// 基于MemoryCache(内存缓存)的缓存工具类 /// Author:左文俊 ///

iOS开发拓展篇—封装音频文件播放工具类

一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError; - (id)initWithData:(NSData *)data error:(NSError **)outError; 准备播放(缓冲,提高播放的流畅性) - (BOOL)prepareToPlay;

list集合、txt文件对比的工具类和文件读写工具类

工作上经常会遇到处理大数据的问题,下面两个工具类,是在处理大数据时编写的:推荐的是使用map的方式处理两个list数据,如果遇到list相当大数据这个方法就起到了作用,当时处理了两个十万级的list,使用改方法的变种搞定. 1.txt文件.list集合比较工具 <span style="font-family:KaiTi_GB2312;font-size:18px;">package com.hudong.util.other; import java.util.Colle