进阶端工程师的前端攻城狮

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

在一个项目中因为图片上传一直报错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);  
            }  
        }   
    } 




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuemitengfeng/article/details/51554887
文章标签: android bitmap
个人分类: android前端笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭