美文网首页Android日常
Android压缩并替换原文件

Android压缩并替换原文件

作者: wasdzy111 | 来源:发表于2018-10-26 15:45 被阅读0次
      
       /**
         * 压缩文件方法
         *
         * @param filePath 原路径
         * @return 返回新的文件对象(存储在原路径)
         */
        public File compress(String filePath) {
            //判断是否大于2MB,小于直接返回
            File sourceFile = new File(filePath);
            if (sourceFile.length() < 1024 * 1024 * 2) {
                return sourceFile;
            }
            BitmapFactory.Options options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;//只加载图像框架
            BitmapFactory.decodeFile(filePath, options);
            // 计算该图像压缩比例,可以调整这个值
            options.inSampleSize = 6;
            //设置加载全部图像内容
            options.inJustDecodeBounds = false;
            Bitmap bitmap = BitmapFactory.decodeFile(filePath, options);
            return saveBitmap(filePath, bitmap);
        }
    
        /**
         * 存储文件
         *
         * @param path    原路径
         * @param mBitmap 数据源
         * @return
         */
        public File saveBitmap(String path, Bitmap mBitmap) {
            File filePic = null;
            FileOutputStream fos = null;
            try {
                filePic = new File(path);
                if (!filePic.exists()) {
                    filePic.getParentFile().mkdirs();
                    filePic.createNewFile();
                } else {
                    filePic.delete();
                }
                fos = new FileOutputStream(filePic);
                mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
                return filePic;
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            } finally {
                if (null != fos) {
                    try {
                        fos.flush();
                        fos.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    

    相关文章

      网友评论

        本文标题:Android压缩并替换原文件

        本文链接:https://www.haomeiwen.com/subject/wzxltqtx.html