FileUtils 文件管理公共类
//创建指定文件名的文件包:
应用名为:DiBall 两个文件名:video和image包 分别存放视频和图片
mkdir() 只能在已经存在的目录中创建创建文件夹。
mkdirs() 可以在不存在的目录中创建文件夹。诸如:a\\b,既可以创建多级目录。
Environment.getExternalStorageDirectory() //获取SD卡的路径
getAbsolutePath() //获取文件的绝对路径,全路径
public class FileUtils { public static final String STORAGE_EXTERNAL_PATH = "DiBall"; public static final String STORAGE_BASE_DIR = new File(Environment.getExternalStorageDirectory(), STORAGE_EXTERNAL_PATH).getAbsolutePath(); public static final String STORAGE_VIDEO_DIR = STORAGE_BASE_DIR + "/video/"; public static final String STORAGE_IMAGE_DIR = STORAGE_BASE_DIR + "/image/"; static { File baseDir = new File(STORAGE_BASE_DIR); if (!baseDir.exists()) { baseDir.mkdirs(); } File videoDir = new File(STORAGE_VIDEO_DIR); if (!videoDir.exists()) { videoDir.mkdirs(); } File imageDir = new File(STORAGE_IMAGE_DIR); if (!imageDir.exists()) { imageDir.mkdirs(); } } public static String generateVideoName() { return String.valueOf(System.currentTimeMillis())+".mp4"; } public static String getVideoPath(String videoName) { return STORAGE_VIDEO_DIR + videoName; } public static String getImagePath(String imgName) { return STORAGE_IMAGE_DIR + imgName; } /** * 生成图片完整缓存路径 * * @param imgName 图片名字 * @return */ public static String createCacheImagePath(String imgName) { return getDiskCacheDir() + imgName; } /** * 获取缓存路径 * * @return */ public static String getDiskCacheDir() { String cachePath = null; if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()) { //SD卡缓存 cachePath = DiBallApp.getInstance().getExternalCacheDir().getPath(); } else { //系统缓存 cachePath = DiBallApp.getInstance().getCacheDir().getPath(); } return cachePath; } /** * 将Bitmap保存成JPG图片到本地缓存 * @param mBitmap * @param bitName * @return */ public static String saveToCacheJPGImage(Bitmap mBitmap, String bitName) { File imageFile = new File(createCacheImagePath(bitName + ".jpg")); FileOutputStream fOut = null; try { fOut = new FileOutputStream(imageFile); mBitmap.compress(Bitmap.CompressFormat.JPEG, 50, fOut); fOut.flush(); return imageFile.getPath(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fOut != null) { fOut.close(); } } catch (IOException e) { e.printStackTrace(); } } return null; } }