java 文件大小统计工具类_Java获取文件大小,文件夹内文件个数的工具类
package cn.edu.hactcm.cfcms.utils;
import java.io.File;
import java.io.FileInputStream;
import java.text.DecimalFormat;
/**
* CFMS :Computer files management system
* version :1.0 2013-3-2 下午03:33:07
*/
public class FileInfoUtils {
/**
* 获得文件类型(文件后缀),要么是文件夹,要么是文件后缀
*
* @param path
* @return
*/
public static String getFileSuffix(String path) {
File file = new File(path);
String info = null;
if (file.isFile()) {
info = path.substring(path.lastIndexOf(".") + 1, path.length())
+ "文件";
}
if (file.isDirectory()) {
info = "文件夹";
}
return info;
}
/**
* 获得文件的大小
*
* @param path
* @return
*/
public static long getFileSize(String path) {
File f = new File(path);
long size = 0;
try {
if (f.exists()) {
if (f.isDirectory()) {
File flist[] = f.listFiles();
for (int i = 0; i < flist.length; i++) {
size = size + getFileSize(flist[i].getPath());
}
} else {
FileInputStream fis = null;
fis = new FileInputStream(f);
size = fis.available();
}
} else {
f.createNewFile();
System.out.println("文件不存在");
}
} catch (Exception e) {
e.printStackTrace();
}
return size;
}
/**
* 转换文件的大小以B,KB,M,G等计算
*
* @param fileS
* @return
*/
public static String FormetFileSize(long fileS) {// 转换文件大小
DecimalFormat df = new DecimalFormat("#.000");
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;
}
/**
* 判断选择的是什么类型的单位,并返回该单位代表的Byte值
* @param unit
* @return
*/
public static long judgeUnit(String unit){
Long value;
if (unit.equals("B")) {
value = 1L;
} else if (unit.equals("K")) {
value = 1024L;
} else if (unit.equals("M")) {
value = 1048576L;
} else {
value = 1073741824L;
}
return value;
}
// 获得文件夹内文件的个数。
public static long getFileSize(File f) {
long size = 0;
File flist[] = f.listFiles();
for (int i = 0; i < flist.length; i++) {
if (flist[i].isDirectory()) {
size = size + getFileSize(flist[i]);
} else {
size = size + flist[i].length();
}
}
return size;
}
}
java 文件大小统计工具类_Java获取文件大小,文件夹内文件个数的工具类相关推荐
- Java获取文件大小,文件夹内文件个数的工具类
package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java. ...
- php过去文件夹总数,用php获取文件夹内文件的数量
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 用php获取指定文件夹内文件的数量: 用PHP读取一个文件夹内有多少个文件,例如有一个Picture文件夹,里面有200张 ...
- java 去掉文件名后缀名_java 获取文件名(不包括文件的后缀)和文件重命名
获取文件名(不包括后缀) originalFileName.substring(0, originalFileName.lastIndexOf(".")) 文件重命名 public ...
- Python:获取文件夹内 文件夹 和 文件数量
path = 'C:/Users/Dell/Desktop/test' print('dirnum:',len([lists for lists in os.listdir(path) if os.p ...
- linux 循环显示所有的sh.*文件.,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法...
环境: Ubuntu下采用shell脚本实现 案例简述:文件夹内有许多子文件夹,这里需要自动读取所有的文件,包括他们的地址和文件名.通过观察文件名的规律,按照一定的规则裁剪出文件名的某一部分,该部分为 ...
- linux遍历目录删除指定文件,利用shell脚本遍历文件夹内所有的文件并作整理统计的方法-linux删除文件夹...
本篇文章扣丁学堂Linux培训小编给读者们分享一下利用shell脚本遍历文件夹内所有的文件并作整理统计的方法,文章具有很好的参考价值,感兴趣的小伙伴就随小编来了解一下吧. 环境: Ubuntu下采用s ...
- java 获取子文件夹_JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件...
package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要 ...
- SFTP获取文件夹内的文件名,文件大小,文件修改时间
SFTP获取文件夹内的文件名,文件大小,文件修改时间 使用SFTP协议获取服务上的指定路径的文件夹下的所有文件名,文件大小,文件的修改时时间等. 工具类 import java.io.File; im ...
- python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
python 实现统计ftp服务器指定目录下文件夹数目.文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏. 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类 ...
最新文章
- Hibernate5-多对一双向关联-fetch=select,lazy=proxy,在一的一方的class标签中添加
- Go 语言编程 — gormigrate GORM 的数据库迁移助手
- Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议
- 查看linux内存存储空间不足,Linux 下判断Server 内存是否不足
- boost::hana::replicate用法的测试程序
- 如何退出_农民退出的宅基地如何利用?农村宅基地征收如何补偿?
- C#枚举、值、字符串的相互转换
- java学习(154):文件复制
- 0基础lua学习(二十)Lua单例
- (pytorch-深度学习系列)模型参数的初始化与访问操作-学习笔记
- 模型评价(一) AUC大法 混淆矩阵
- 学习webpack前的准备工作
- 《流浪地球》高赞好评被收买改差评?豆瓣如此回应...
- rhel与aix中,fsck -f的区别
- IIS网站设置禁止IP访问设置方法
- C的|、||、、、异或、~、!运算
- 区块链+各行业应用案例
- 89C51单片机内部结构深度解析
- 带宽下载速度单位换算
- ​在Windows 10 下安装 Vmware 时遇到的问题和解决​方法