content: package com.djangoogle.baidu.tts.util;
  
  import android.content.Context;
  import android.content.res.AssetManager;
  import android.os.Environment;
  
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.IOException;
  import java.io.InputStream;
  
  /**
   * Created by fujiayi on 2017/5/19.
   */
  
  public class BaiduFileUtil {
  
  	// 创建一个临时目录，用于复制临时文件，如assets目录下的离线资源文件
  	public static String createTmpDir(Context context) {
  		String sampleDir = "baiduTTS";
  		String tmpDir = Environment.getExternalStorageDirectory().toString() + "/" + sampleDir;
  		if (!BaiduFileUtil.makeDir(tmpDir)) {
  			tmpDir = context.getExternalFilesDir(sampleDir).getAbsolutePath();
  			if (!BaiduFileUtil.makeDir(sampleDir)) {
  				throw new RuntimeException("create model resources dir failed :" + tmpDir);
  			}
  		}
  		return tmpDir;
  	}
  
  	public static boolean fileCanRead(String filename) {
  		File f = new File(filename);
  		return f.canRead();
  	}
  
  	public static boolean makeDir(String dirPath) {
  		File file = new File(dirPath);
  		if (!file.exists()) {
  			return file.mkdirs();
  		} else {
  			return true;
  		}
  	}
  
  	public static void copyFromAssets(AssetManager assets, String source, String dest, boolean isCover) throws IOException {
  		File file = new File(dest);
  		if (isCover || (!isCover && !file.exists())) {
  			InputStream is = null;
  			FileOutputStream fos = null;
  			try {
  				is = assets.open(source);
  				String path = dest;
  				fos = new FileOutputStream(path);
  				byte[] buffer = new byte[1024];
  				int size = 0;
  				while ((size = is.read(buffer, 0, 1024)) >= 0) {
  					fos.write(buffer, 0, size);
  				}
  			} finally {
  				if (fos != null) {
  					try {
  						fos.close();
  					} finally {
  						if (is != null) {
  							is.close();
  						}
  					}
  				}
  			}
  		}
  	}
  }
  