package com.music.xiangdamuxic.utils; import android.app.Activity; import com.music.xiangdamuxic.utils.MyApplication; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class AssetsToCacheDir { /** * 将asset文件写入缓存 */ public static boolean copyAssetAndWrite(Activity c, String fileName) throws IOException { try { File cacheDir = c.getCacheDir(); if (!cacheDir.exists()) { cacheDir.mkdirs(); } File outFile = new File(cacheDir, fileName); if (!outFile.exists()) { boolean res = outFile.createNewFile(); if (!res) { return false; } } else { if (outFile.length() > 10) {//表示已经写入一次 return true; } } InputStream is = c.getAssets().open(fileName); FileOutputStream fos = new FileOutputStream(outFile); byte[] buffer = new byte[1024]; int byteCount; while ((byteCount = is.read(buffer)) != -1) { fos.write(buffer, 0, byteCount); } fos.flush(); is.close(); fos.close(); return true; } catch (IOException e) { e.printStackTrace(); } return false; } }