【前端笔记】android中bitmap和文件的大小

原创 2016年06月01日 12:35:20

在一个项目中因为图片上传一直报错socket超时,因此想到了是不是图片过大不能上传的问题所以需要打印bitmap的尺寸和大小


           public long getBitmapsize(){

               if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) {

                //据说3.1.X以下的版本不能用此方法
                 return bitmap.getByteCount();
                }
             // Pre HC-MR1
             return bitmap.getRowBytes() * bitmap.getHeight();//为了兼容老版本使用

               }


而更为常用的是获取bitmap的宽高,通过getWidth和getHeight方法。


增加对于文件大小的判断

1.适用于大文件,返回值为long

File f= new File("D:\\CentOS-6.5-x86_64-bin-DVD1.iso");  
    if (f.exists() && f.isFile()){  
       System.out.println(f.length());  
    }else{  
         System.out.println("file doesn't exist or is not a file");  
    }

2.适用于小文件,因为FileInputStream返回值为int,超过2147483647  就越界了最大只能显示1.99G

    FileInputStream fis= null;  
    try{  
        File f= new File("D:\\CentOS-6.5-x86_64-bin-DVD1.iso");  
        fis= new FileInputStream(f);  
        logger.info(fis.available());  
    }catch(Exception e){  
        logger.error(e);  
    } finally{  
        if (null!=fis){  
            try {  
                fis.close();  
            } catch (IOException e) {  
                logger.error(e);  
            }  
        }  
    } 


3.同样可以使用FileChannel

FileChannel fc= null;  
    try {  
        File f= new File("D:\\CentOS-6.5-x86_64-bin-DVD1.iso");  
        if (f.exists() && f.isFile()){  
            FileInputStream fis= new FileInputStream(f);  
            fc= fis.getChannel();  
            logger.info(fc.size());  
        }else{  
            logger.info("file doesn't exist or is not a file");  
        }  
    } catch (FileNotFoundException e) {  
        logger.error(e);  
    } catch (IOException e) {  
        logger.error(e);  
    } finally {  
        if (null!=fc)){  
            try{  
                fc.close();  
            }catch(IOException e){  
                logger.error(e);  
            }  
        }   
    } 




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

bitmap compress 图片压缩 图片文件大小处理

android中图片加载到内存中所占空间大小计算:分辨率 height*width*一个像素所占空间大小  解析:decode时指定解码方式为ARGB_8888 代表用8位表示透明度(A),8位表示红...

Android 图片大小超过预算的VM:java.lang.OutOfMemoryError: bitmap size exceeds VM budget

Android 2.3.3 Eclipse Version: 3.7.0 LogCat Activity显示图片,部分源代码: // 图片 ...

Android使用Palette把drawable转为bitmap图像大小改变的问题

项目中要做成以下的效果,本地应用直接使用包名和颜色值遍历找对应,三方应用要去提取app的icon颜色作为背景,首先想到了Android5.0新特性相关的palette。...

Android-->原生保存Bitmap(图片),压缩图片,创建图片缩略图和视频缩略图(任意大小)

原图:1728*360 大小:1.1MB 尺寸:20*20 大小:2KB 尺寸:60*60 大小:9KB 尺寸:100*100 大小:23KB 1:保存Bitmap的方法/** * 保存...
  • angcyo
  • angcyo
  • 2016年04月09日 15:51
  • 1547

前端js限制上传文件类型及大小(3)

附件: 文件上限2MB

JS前端检测上传文件类型以及属性大小,并生成预览

    文件上传前台控制检测程序 body,td{font-size:12px;} var ImgObj=new Image();      //建立一...

Android应用开发之图片(Bitmap)压缩(一)---------Bitmap与BitmapFactory的认识及图片的存储形式大小的实验

在Android应用中是离不开图片的,
  • ls703
  • ls703
  • 2014年10月23日 15:02
  • 2184

android 计算Bitmap占byte大小,以及Bitmap中像素数的计算,另外再给出一个按尺寸裁剪图片的方法

一,计算Bitmap的Byte大小 1.在SDK >= 3.1  直接调用 Bitmap的  getByteCount() 方法。 2.在SDK bitmap.getRowBytes() * ...

Android 笔记 Canvas Bitmap

位图是我们开发中最常用的资源,毕竟一个漂亮的界面对用户是最有吸引力的。1. 从资源中获取位图可以使用BitmapDrawable或者BitmapFactory来获取资源中的位图。当然,首先需要获取资源...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【前端笔记】android中bitmap和文件的大小
举报原因:
原因补充:

(最多只允许输入30个字)