从键盘接收一个文件夹路径,并统计该文件夹的大小package com.wang.test; import java.io.File; import java.util.Scanner; public class Test8 {	public static void main(String[] args) {	File dir = get...
从键盘接收一个文件夹路径,并统计该文件夹的大小package com.wang.test; import java.io.File; import java.util.Scanner; public class Test8 {	public static void main(String[] args) {	File dir = getDir();	System.out.println(getFileLength(dir));	}	/**	* 从键盘接收一个文件夹路径	* 1、返回值类型File	* 2、参数列表 无	*/	public static File getDir() {	//1、创建键盘录入对象	Scanner sc = new Scanner(System.in);	System.out.println("请输入一个文件夹路径:");	//2、定义一个无限循环	while(true) {	//3、将键盘录入的结果存储并封装成File对象	String line = sc.nextLine();	File dir = new File(line);	//4、对File对象进行判断	if(!dir.exists()) {	System.out.println("您输入的文件夹路径不存在,请重新输入:");	}else if(dir.isFile()) {	System.out.println("您输入的是一个文件路径,请重新输入:");	}else {	//5、返回文件夹路径	return dir;	}	}	}	/**	* 统计该文件夹大小	* 1、返回值类型long	* 2、参数列表 File dir	*/	public static long getFileLength(File dir) {	//1、定义一个求和变量	long len = 0;	//2、获取该文件夹下的所以文件夹和文件listFile()	File[] subFiles = dir.listFiles();	//3、遍历数组	for (File subFile : subFiles) {	//4、判断是文件就计算大小并累加	if(subFile.isFile()) {	len = len + subFile.length();	}else {	//5、判断是文件夹,递归调用	len = len + getFileLength(subFile);	}	}	return len;	} }
privatelongGetFilesSize(Stringpath)...{DirectoryInfodirectoryInfo=newDirectoryInfo(path);longlength=0;foreach(FileSystemInfofsiindirectoryIn
privatelongGetFilesSize(Stringpath)
{
DirectoryInfodirectoryInfo=newDirectoryInfo(path);
longlength=0;
foreach(FileSystemInfofsiindirectoryInfo.GetFileSystemInfos())
{
if(fsiisFileInfo)
{
length+=((FileInfo)fsi).Length;
}
else
{
length+=GetFilesSize(fsi.FullName);
}
}
returnlength;
}
基于jdk7或以上java版本的文件夹大小统计功能实现,相对于传统的java获取文件再计算大小的方式要快速很多,支持统计指定类型,是否统计子文件夹
统计文件夹大小的函数 import os def getdirsize(dirpath): #设置一个用于累加大小变量 total = 0 #获取文件夹中所有文件和文件夹 allnames = os.listdir(dirpath) #遍历所有文件和文件夹,将他们的大小...
统计文件夹大小的函数
import os
def getdirsize(dirpath):
#设置一个用于累加大小变量
total = 0
#获取文件夹中所有文件和文件夹
allnames = os.listdir(dirpath)
#遍历所有文件和文件夹,将他们的大小累加起来
for i in allnames:
#遍历同时组合完整路径
fullpath = os.path.join(dirpath,i)
#判断是文件还是文件夹
if os.path.isfile(fullpath):
#获取文件大小
total += os.path.getsize(fullpath)
elif os.path.isdir(fullpath):
#获取文件夹大小
total += getdirsize(fullpath)
else:
# 获取链接大小
total += os.path.getsize(fullpath)
#返回总大小
return total
#调用函数
result = getdirsize('E:\python')
print(result)
转载于:https://www.cnblogs.com/mmf1/p/7823595.html
linux统计文件夹大小 [url]http://www.51testing.com/html/43/2243-197686.html[/url] Linux下查看目录大小的命令是du,从man中找到几个常用的参数就可以轻松的统计某个文件夹的容量. 1.统计出目录的总大小,并...
linux 统计文件夹大小 [url]http://www.51testing.com/html/43/2243-197686.html[/url]
Linux下查看目录大小的命令是du,从man中找到几个常用的参数就可以轻松的统计某个文件夹的容量.
1.统计出目录的总大小,并以比较合适的单位表示
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
-s, --summarize
display only a total for each argument
[blinux@localhost test]$ [color=darkblue]du -hs /boot[/color]
5.7M /boot
2.当然了,你还可以让结果以单位b、k、m来表示
[blinux@localhost test]$ [color=darkblue]du -bs /boot[/color]
5746310 /boot
[blinux@localhost test]$ du -ks /boot
5772 /boot
[blinux@localhost test]$ du -ms /boot
6 /boot
3.显示目录的总大小及目录树中各文件夹的大小,并以较好的单位表示
[blinux@localhost test]$ [color=darkblue]du -h /boot[/color]
308K /boot/grub
5.7M /boot
用法实例:
# [color=darkblue]du -hs smgpdfd[/color]
3.3G smgpdfd
# [color=darkblue]du -hs /usr/local/mysql/data/fdlfh[/color]
42G /usr/local/mysql/data/fdlfh
查看整个硬盘的使用状况,硬盘空间
# df -hv
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 9.7G 744M 8.5G 8% /
/dev/sda6 199G 142G 48G 76% /usr
/dev/sda2 48G 309M 45G 1% /home
/dev/sda1 99M 12M 83M 12% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
介绍:
du命令用于显示指定文件(夹)在磁盘中所占的空间信息。假如指定的文件参数实际上是一个目录,就要计算该目录下的所有文件。假如 没有提供文件参数,执行du命令,显示当前目录内的文件占用空间信息。
语法:
du [-abcDhHklmsSx] [-L] [--block-size] [--exclude=] [--max-depth=] [目录或文件]
选项介绍:
-a: 显示目录中个别文件的大小;
-b: 显示目录或文件大小时,以byte为单位;
-c: 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和;
-D: 显示指定符号连接的源文件大小;
-h: 以K,M,G为单位,提高信息的可读性;
-H: 与-h参数相同,但是K,M,G是以1000为换算单位;
-k: 以1024 bytes为单位;
-l: 重复计算硬链接文件;
-L: 显示选项中所指定符号链接(软链接)的源文件大小;
-m: 以1MB为单位;
-s: 显示总计大小;
-S: 显示个别目录的大小时,并不含其子目录的大小;
-x: 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过;
–exclude=: 略过指定的目录或文件;
–max-depth=: 超过指定层数的目录后,予以忽略;
import java.io.File; import java.util.Scanner; public class Test7 { ...	*统计文件夹大小字节,直接统计文件的结果是0	*/	public static void main(String[] args) { File dir = getDir()...
根据文件夹路径计算文件夹大小,路径也可以是文件 import os size = 0 def get_dir_size(path): """ 递归调用,统计文件大小 :param path: 文件夹路径 :return: 文件字节 """ global size # 列表显示出...
注意:File.length()只能用于计算文件大小,不能用于统计文件夹大小。	/**统计文件大小	* @param file	* @return	*/	public static long getFileLength(File file) {	if(file.isFile()){	return ...