package z.hol.shellandroid.utils; import java.io.BufferedOutputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.content.Context; import android.content.res.AssetManager; public class AssetUtils { /** * 释放Asset里面的文件 * @param context * @param fileName * @param checkFile 如果检测文件,则在文件存在的时候不进行释放 * @throws IOException */ public static void extractAsset(Context context, String fileName, boolean checkFile) throws IOException{ if (!checkFile || !isFileExist(context, fileName)){ AssetManager manager = context.getAssets(); InputStream in = manager.open(fileName); OutputStream out = context.openFileOutput(fileName, Context.MODE_PRIVATE); BufferedOutputStream bout = new BufferedOutputStream(out); int iByte = -1; while ((iByte = in.read()) != -1){ bout.write(iByte); } bout.flush(); bout.close(); out.close(); in.close(); } } public static boolean isFileExist(Context context, String fileName){ File fileDir = context.getFilesDir(); File f = new File(fileDir, fileName); boolean exist = f.exists(); return exist; } }