android 通过文件路径,判断文件大小

  1. 1.用来判断文件大小的方法的类
  2. package com.email.filesize;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.text.DecimalFormat;
  6. public class GetFileSize {
  7.     public GetFileSize() {
  8.     }
  9.     public long getFileSizes(File f) throws Exception {
  10.         long s = 0;
  11.         if (f.exists()) {
  12.             FileInputStream fis = null;
  13.             fis = new FileInputStream(f);
  14.             s = fis.available();
  15.             fis.close();
  16.         } else {
  17.             f.createNewFile();
  18.             System.out.println(“文件夹不存在”);
  19.         }
  20.         return s;
  21.     }
  22.     /**
  23.      * 递归
  24.      * */
  25.     public long getFileSize(File f) {
  26.         long size = 0;
  27.         File flist[] = f.listFiles();
  28.         for (int i = 0; i < flist.length; i++) {
  29.             if (flist[i].isDirectory()) {
  30.                 size = size + getFileSize(flist[i]);
  31.             } else {
  32.                 size = size + flist[i].length();
  33.             }
  34.         }
  35.         return size;
  36.     }
  37.     /**
  38.      * 转换文件大小
  39.      * */
  40.     public String FormentFileSize(long fileS) {
  41.         DecimalFormat df = new DecimalFormat(“#.00”);
  42.         String fileSizeString = “”;
  43.         if (fileS < 1024) {
  44.             fileSizeString = df.format((double) fileS) + “B”;
  45.         } else if (fileS < 1048576) {
  46.             fileSizeString = df.format((double) fileS / 1024) + “K”;
  47.         } else if (fileS < 1073741824) {
  48.             fileSizeString = df.format((double) fileS / 1048576) + “M”;
  49.         } else {
  50.             fileSizeString = df.format((double) fileS / 1073741824) + “G”;
  51.         }
  52.         return fileSizeString;
  53.     }
  54. //  /**
  55. //   * 递归求取目录文件个数
  56. //   * */
  57. //  public long getlist(File f) {
  58. //      long size = 0;
  59. //      File flist[] = f.listFiles();
  60. //      System.out.println(“————-” + flist.length);
  61. //      size = flist.length;
  62. //      for (int i = 0; i < flist.length; i++) {
  63. //          if (flist[i].isDirectory()) {
  64. //              size = size + getlist(flist[i]);
  65. //              size–;
  66. //          }
  67. //      }
  68. //      return size;
  69. //  }
  70. }
  71. 2.判断文件大小,在主函数中写的语句
  72. GetFileSize g = new GetFileSize();
  73. String path = File.separator + “mnt” + File.separator + “sdcard” + File.separator + “1.txt”;
  74. File ff = new File(path);
  75. try {
  76.        l = g.getFileSizes(ff);
  77.     } catch (Exception e) {
  78.       e.printStackTrace();
  79.     }
  80.  System.out.println(path + “文件的大小为:” + g.FormentFileSize(l));

标签