How to get the size of an image in Android?

前端 未结 5 700
没有蜡笔的小新
没有蜡笔的小新 2020-12-28 10:09

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?

相关标签:
5条回答
  • 2020-12-28 10:35
     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");
    
    0 讨论(0)
  • 2020-12-28 10:36

    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
    
    0 讨论(0)
  • 2020-12-28 10:37

    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 :)

    0 讨论(0)
  • 2020-12-28 10:47

    Assuming your talking about a bitmap (and NOT an ImageView), there is a method Bitmap.getByteCount().

    0 讨论(0)
  • 2020-12-28 10:48

    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();
    
    0 讨论(0)
提交回复
热议问题