Android獲取指定文件大小

cm54 9年前發布 | 2K 次閱讀 Java Android

    /**

     * 獲取指定文件大小  
     * @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;  
    }  </pre> 


    /**

     * 獲取指定文件夾 
     * @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;  
    }  </pre> 


    /**

     * 轉換文件大小 
     * @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;  
    }  </pre> 


 本文由用戶 cm54 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!