FileUtils 文件管理公共类

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值