Android获取指定文件大小

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

    /** 
         * 获取指定文件大小  
         * @param f  
         * @return  
         * @throws Exception    
         */  
        public static long getFileSize(File file) throws Exception {  
            long size = 0;  
            if (file.exists()) {  
                FileInputStream fis = null;  
                fis = new FileInputStream(file);  
                size = fis.available();  
            } else {  
                file.createNewFile();  
                Log.e("获取文件大小", "文件不存在!");  
            }  
            return size;  
        }  

    /** 
         * 获取指定文件夹 
         * @param f 
         * @return 
         * @throws Exception 
         *  
         */  
        public static long getFileSizes(File f) throws Exception {  
            long size = 0;  
            File flist[] = f.listFiles();  
            for (int i = 0; i < flist.length; i++) {  
                if (flist[i].isDirectory()) {  
                    size = size + getFileSizes(flist[i]);  
                } else {  
                    size = size + getFileSize(flist[i]);  
                }  
            }  
            return size;  
        }  

    /** 
         * 转换文件大小 
         * @param fileS 
         * @return 
         *  
         */  
        public static String FormetFileSize(long fileS) {  
            DecimalFormat df = new DecimalFormat("#.00");  
            String fileSizeString = "";  
            String wrongSize = "0B";  
            if (fileS == 0) {  
                return wrongSize;  
            }  
            if (fileS < 1024) {  
                fileSizeString = df.format((double) fileS) + "B";  
            } else if (fileS < 1048576) {  
                fileSizeString = df.format((double) fileS / 1024) + "KB";  
            } else if (fileS < 1073741824) {  
                fileSizeString = df.format((double) fileS / 1048576) + "MB";  
            } else {  
                fileSizeString = df.format((double) fileS / 1073741824) + "GB";  
            }  
            return fileSizeString;  
        }