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张 ...
- Python:获取文件夹内 文件夹 和 文件数量
path = 'C:/Users/Dell/Desktop/test' print('dirnum:',len([lists for lists in os.listdir(path) if os.p ...
- python 文件操作 os 如何检索文件夹内文件数量
参考文章1:python os获取文件夹中文件夹内文件的数量,保存为CSV文件 参考文章2:用python计算大文件夹下小文件夹里文件的个数
- 文件夹修改名字 matlab,matlab用 movefile更改文件夹内文件名字
%超简单,利用matlab自带函数movefile(旧名,新名)更改文件夹内文件名字,可以是改一个或多个文件 clc clear dir1 = 'D:\workplace\新程序实验'; %选择数据所 ...
- JAVA-基础(查找文件夹内文件)
JAVA-基础(查找文件夹内文件) 1.目的? 查找指定文件夹内的文件.以查询.txt结尾的文件为例. 2.分析? 目录搜索,无法判断多少级目录,所以使用递归,遍历所有目录. 遍历目录时,获取的子文件 ...
- shell脚本读取文件夹内文件名称
shell脚本读取文件夹内文件名称代码如下: 1.配置文件: readFilePath=/wocloud/soft/tomcat/selfYearAppraiseTomcat/selfYearAppr ...
- bat 文件夹内文件批量重命名
文件夹内文件批量重命名,示例如下: chcp 65001 @echo off set /p w=请输入文件格式(即扩展名并以回车结束): ::set /p wf=请输入要修改的文字(以回车结束): s ...
- java 获取两条经纬度线段的交点坐标工具类
java 获取两条经纬度线段的交点坐标工具类 网上有线段是否相交的判断方法,但是很少有获取线段交点的坐标的方法 我在这里整合了网上的一些相交的方法,通过相交的xy轴点返推出了经纬度. 拾取坐标系统 可 ...
最新文章
- 高德地图API 简单使用
- 新产品孕育记:PM如何把一款产品从0带到1
- web实现远程桌面:Apache Guacamole
- 系列(三)—Redis
- JEPaas代码((列表,表单)确认入库按钮
- 重复运行JUnit测试而没有循环
- 全国计算机民办二本学校排行,艺术类二本院校排名,2018最新民办和公办院校全国排名...
- puttygen.exe 生产密钥,配置SSH登陆linux服务器
- 骁龙神经处理引擎(Snapdragon Neural Processing Engine)
- 忘记Mac开机密码处理方法
- 淘宝双11实时数据分析项目报告
- ios 微信内置浏览器 缓存清理
- 关于skl计算机题目,系统崩溃,并且您不能更改 Windows 8.1 或 Windows Server 2012 R2 中的英特尔 SKL 平台上的 CPU 频率...
- 能力素质有所欠缺_表达能力至关重要
- Photoshop脚本 合并所有图层
- workers.properties配置详解
- 【spark】一文(10分钟)入门spark
- 【VScode报错】> ools-1.1.3\debugAdapters\bin\WindowsDebugLa‘--stdout=Microsoft-MIEngine-Out-aguzdga1-npu
- sqlmap详细教程
- Java14发布,16大新特性,代码更加简洁明快
热门文章
- opengl加载显示3D模型3MF类型文件
- OpenCASCADE:物理STEP文件
- wxWidgets:wxBitmap类用法
- boost::process::async_pipe相关的测试程序
- boost::math::owens_t用法的测试程序
- boost::hana::on用法的测试程序
- boost::geometry::detail::overlay::get_relative_order用法的测试程序
- Boost: 对uncaught_exceptions函数的测试
- DCMTK:用于DICOM数据字典的哈希表接口
- VTK:可视化之NoShading