如何在android中压缩文件?
我想用android压缩一个文件。 我使用createTempFile创建了一个文件。这是一个图像文件 有没有办法通过编程方式压缩文件如何在android中压缩文件?,android,file,Android,File,我想用android压缩一个文件。 我使用createTempFile创建了一个文件。这是一个图像文件 有没有办法通过编程方式压缩文件 private static final String JPEG_FILE_PREFIX = "IMG_FILE"; private static final String JPEG_FILE_SUFFIX = ".jpg"; String imgFolderPath = ""; String imgFolderName = "captu
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();
}
谢谢好吧,你可以看看,但是如果它只是一张图片,而且是一个jpg文件,压缩它不会有多大效果。JPG已经是一种压缩图像格式
如果您有多个图像,可以将它们打包到一个文件中,但是大小不会改变…
你可以使用ZipFile
下面是一个演示压缩一幅图像就是使用BitmapFactory并在其中调整压缩级别
Bitmap.createBitmap(width, height, config)
方法,其中config是可用于编辑压缩级别和内容的参数如果您已经创建了tmp图像文件,它是什么格式?它是JPEG图像格式。因此,它已经压缩,您还需要什么?OP专门询问了文件,您的解决方案仅限于位图