最近在开发android应用程序的时候,socket编程中需要将一个文件的大小传输到客户端,以便计算文件的传输速度和进度。这其中要判断文件夹大小,在网上查阅资料,将有代表的demo分享下: package com.demo.file; import java.io.File;import java.text.DecimalFormat;import java.io.FileInputStream; public class GetFileSizeUtil{  private static GetFileSizeUtil instance;  public GetFileSizeUtil() {  }  public static GetFileSizeUtil getInstance() {  if (instance == null)  {   instance = new GetFileSizeUtil();  } return instance; }   public long getFileSizes(File f) throws Exception {  long s = 0;  if (f.exists())  {   FileInputStream fis = null;   fis = new FileInputStream(f);   s = fis.available();  }  else  {   f.createNewFile();   System.out.println("文件不存在");  }  return s; }   public long getFileSize(File f) throws Exception {  long size = 0;  File flist[] = f.listFiles();  for (int i = 0; i < flist.length; i++)  {   if (flist.isDirectory())   {    size = size + getFileSize(flist);   }   else   {    size = size + flist.length();   }  }  return size; }   public String FormetFileSize(long fileS) {// 转换文件大小  DecimalFormat df = new DecimalFormat("#.00");  String fileSizeString = "";  if (fileS < 1024)  {   fileSizeString = df.format((double) fileS) + "B";  }  else if (fileS < 1048576)   {    fileSizeString = df.format((double) fileS / 1024) + "K";   }   else if (fileS < 1073741824)   {    fileSizeString = df.format((double) fileS / 1048576) + "M";   }   else   {    fileSizeString = df.format((double) fileS / 1073741824) + "G";   }  return fileSizeString; }   public long getlist(File f) {// 递归求取目录文件个数  long size = 0;  File flist[] = f.listFiles();  size = flist.length;  for (int i = 0; i < flist.length; i++)  {   if (flist.isDirectory())   {    size = size + getlist(flist);    size--;   }  }  return size; }
/** * 清理缓存 */public void clear(File file) {File[] files = file.listFiles();if (files == null)return;for (File f : files) {f.delete();}} }


更多相关文章

  1. 【Android】字体和图标大小设计规范
  2. ClipDrawable的使用
  3. Android(安卓)Animation学习(六) View Animation介绍
  4. Android动画效果translate、scale、alpha、rotate的 xml文件写法
  5. build/envsetup.sh简记Android
  6. Android(安卓)adapter适配器的使用
  7. DTMF信号处理
  8. android多国语言与国际化
  9. 修改Android模拟器RAM大小方法

随机推荐

  1. Android和iOS在新版本中助力HTML5
  2. Android Permission大全1.0最终版本
  3. Myeclipse添加android开发插件
  4. Android 判断网络状态,并且在没有网络的时
  5. Android中URI的格式
  6. 【Android 基础】TextView的属性详解
  7. Android调试之Logcat
  8. Android中用shape做渐变,边框,圆角等效果
  9. android webview自定义标签!(实现打电话的
  10. [置顶] Android屏幕适配全攻略