StatFs类:
/**
* Retrieve overall information about the space on a filesystem. This * is a
* Wrapper for Unix statfs().
*/
检索整个文件系统的空间信息,是对Unix中statfs()函数的封装, 开发中可用这个类取得文件系统的可用大小等。
//递归取得文件或文件夹的大小
public static long fileLength(File file) {
long length = 0;
if(file == null || !file.exists()){
return 0;
}
if(file.isFile()){
length = file.length();
}else if(file.isDirectory()){
File[] files = file.listFiles();
for(int i = 0; files != null && i < files.length; i++){
length = length + fileLength(files[i]);
}
}
return length;
}
//取得文件系统的可用空间
public static long availableSize(File mCurrentDirectory) {
StatFs stat = new StatFs(mCurrentDirectory.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
long availableSize = blockSize * availableBlocks;
return availableSize;
}