我想在android中压缩文件。 我使用 createTempFile 创建了一个文件。这是一个图像文件。
有没有办法以编程方式压缩文件?
private static final String JPEG_FILE_PREFIX = "IMG_FILE";
private static final String JPEG_FILE_SUFFIX = ".jpg";
String imgFolderPath = "";
String imgFolderName = "captureDir";
File imgDir = null;
File imgFile = null;
String mCurrentPhotoPath ="";
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
isSDAvailable = true;
File root = android.os.Environment.getExternalStorageDirectory();
imgDir = new File(root,"/"+imgFolderName);
imgDir.mkdir();
try {
imgFile = File.createTempFile(JPEG_FILE_PREFIX, JPEG_FILE_SUFFIX, imgDir);
mCurrentPhotoPath = imgFile.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
}
//Toast.makeText(TakePictures.this, "External memory available", Toast.LENGTH_SHORT).show();
}else{
isSDAvailable = false;
imgFolderPath = "/data/data/"+ this.getApplicationContext().getPackageName()+ "/"+imgFolderName;
imgDir = new File(imgFolderPath);
imgDir.mkdir();
try {
imgFile = File.createTempFile(JPEG_FILE_PREFIX, JPEG_FILE_SUFFIX, imgDir);
mCurrentPhotoPath = imgFile.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
}
//Toast.makeText(TakePictures.this, "External memory not available", Toast.LENGTH_SHORT).show();
}
由于
答案 0 :(得分:1)
好吧,你可以查看zip package,但如果它只是一个图像并且它是一个jpg文件,压缩它将没有太大的影响。 JPG已经是一种压缩的图像格式。
如果你有多张图片将它们打包成一个文件可能有意义,那么尺寸不会改变......
答案 1 :(得分:0)
答案 2 :(得分:0)
压缩图像只是使用BitmapFactory并调整
中的压缩级别Bitmap.createBitmap(width, height, config)
方法,其中config是可用于编辑压缩级别和填充的参数