public class MyThread extends Thread {

private Handler hd1;

public MyThread(Handler handler) {
this.hd1 = handler;
}

public void run() {
try {
copyFile(new File("/sdcard/fill.file"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}// run()

public static void copyFile(File targetFile) throws IOException
{
// 新建文件输出流并对它进行缓冲
targetFile.delete();
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);

// 缓冲数组
byte[] b = new byte[1024 * 1024 * 8];
while (getSD()>((long)8)) {
outBuff.write(b, 0, 1024 * 1024 * ;
}
// 刷新此缓冲的输出流
outBuff.flush();

//关闭流
outBuff.close();
output.close();
}

public static long getSD() {
String sDcString = android.os.Environment.getExternalStorageState();
if (sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {
// 取得sdcard文件路径
File pathFile = android.os.Environment
.getExternalStorageDirectory();
android.os.StatFs statfs = new android.os.StatFs(pathFile.getPath());
// 获取SDCard上BLOCK总数
long nTotalBlocks = statfs.getBlockCount();
// 获取SDCard上每个block的SIZE
long nBlocSize = statfs.getBlockSize();
// 获取可供程序使用的Block的数量
long nAvailaBlock = statfs.getAvailableBlocks();
// 获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)
long nFreeBlock = statfs.getFreeBlocks();
// 计算SDCard 总容量大小MB
long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024;
// 计算 SDCard 剩余大小MB
long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024;

return nSDFreeSize;
}// if
else {
return -100;
}
}

}// class

更多相关文章

  1. Android写文件到Sd卡的一般过程
  2. android 实现流媒体播放远程mp3文件代码
  3. android -- 小功能 Android为多媒体文件生成缩略图
  4. Android, 如何在C文件中加log
  5. Android文件夹大小
  6. Android中的多种文件读写操作方法

随机推荐

  1. Android异步加载全解析之Bitmap
  2. Android菜鸟实训的第一天
  3. 分享几点Android 开发中的小技巧
  4. 阿里ctf-2014 android 第三题――so动态
  5. 爱踢门之锤子自由截屏快捷键配置(上)
  6. Android之利用JSBridge库实现Html,JavaScr
  7. Android手机游戏开发知识点总结
  8. Android 手机十大必备软件
  9. Android中Handler问题汇总
  10. AMD主机上使用Android(安卓)Studio emula