I'm able to get the height and width of an image. But is there a method to retrieve the size (in bytes or kb or mb) for an image stored in the phone?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Thank you for your answers. This is how I finally resolved it:
Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
Bitmap bitmap = bitmapOrg;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] imageInByte = stream.toByteArray();
long lengthbmp = imageInByte.length;
Appreciate your time and answers :)
回答2:
Assuming your talking about a bitmap (and NOT an ImageView), there is a method Bitmap.getByteCount().
回答3:
You just need to create a new File
object such as...
String filepath = Environment.getExternalStorageDirectory() + "/file.png";
File file = new File(filepath);
long length = file.length();
回答4:
File file = new File("/sdcard/imageName.jpeg");
long length = file.length();
length = length/1024;
System.out.println("File Path : " + file.getPath() + ", File size : " + length +" KB");
回答5:
This returns the true size that is match in computers when you see file details with right click.
File file = new File("/sdcard/my_video.mp4");
long length = file.length() / 1024; // Size in KB