java7读取文件大小
来源:互联网 发布:阿里云流量收费标准 编辑:程序博客网 时间:2024/04/30 01:18
1 场景描述
Java7读取文件属性,比如文件大小如何操作?文件或目录呢?如何遍历目录?
2 工具类
这个工具类只是将long型的字节转换为字符串显示
public class FileSizeUtil {/** * * @param size 文件的字节大小 * @return * [0,1024] <--> *B * (1024,1024*1024]<--> *KB * (1024*1024,1024*1024*1024]<--> *MB * (1024*1024*1024,1024*1024*1024*1024]<--> *GB * (1024*1024*1024*1024,1024*1024*1024*1024*1024]<--> *TB * */public static String getSize(long size){//格式化数字,小数点后保留两位有效数字DecimalFormat df = new DecimalFormat("#.00");if(size>=0 && size<=1024){return size + "B";}else if(size>1024 && size<= 1024*1024){return df.format(size*1.0/1024) + "KB";}else if(size>1024*1024 && size<= 1024*1024*1024){return df.format(size*1.0/(1024*1024)) + "MB";}else if(size>1024*1024*1024 && size<= 1024*1024*1024*1024){return df.format(size*1.0/(1024*1024*1024)) + "GB";}else if(size>1024*1024*1024*1024 && size<= 1024*1024*1024*1024*1024){return df.format(size*1.0/(1024*1024*1024*1024)) + "TB";}return null;}}
3 测试读取文件/目录的大小
import java.io.IOException;import java.nio.file.FileVisitResult;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.SimpleFileVisitor;import java.nio.file.attribute.BasicFileAttributes;import lombok.SneakyThrows;import org.exo.util.FileSizeUtil;import org.junit.Test;public class TestFileAttribute {/** * 测试读取文件大小 */@Test@SneakyThrows //抛出异常。lombok的注解public void testFileAttributes(){//在项目根目录下面查找文件Path path = Paths.get("big-template.xlsx");BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class); System.out.println(FileSizeUtil.getSize(attributes.size()));}/** * 测试读取目录的大小 */@Test@SneakyThrows//抛出异常。lombok的注解public void testFileDirectoryAttributes(){//在项目根目录下面查找文件MyFileVistor<Path> vistor = new MyFileVistor<Path>();Files.walkFileTree(Paths.get("src"), vistor);System.out.println(FileSizeUtil.getSize(vistor.getSize()));}@SuppressWarnings("hiding")class MyFileVistor<Path> extends SimpleFileVisitor<Path>{long size = 0L;@Overridepublic FileVisitResult visitFile(Path path,BasicFileAttributes attrs) throws IOException {size += attrs.size();return FileVisitResult.CONTINUE;}public long getSize(){return this.size;}}}
0 0
- java7读取文件大小
- shell 读取文件大小
- C语言读取文件大小
- 显示(读取)文件大小
- Java 读取Ftp文件大小
- C语言读取二进制文件大小
- 读取文件大小 获取文件长度
- linux 文件读写 读取文件大小
- 读取文件大小 获取文件长度
- IOS根据路径读取文件大小
- IOS根据路径读取文件大小
- 读取网络流获取文件大小
- C 语言读取二进制文件大小
- java读取文件大小和内容
- java7
- Java7
- Java7
- Java7
- Linux如何从纯文本模式切换到图形用户界面
- 关于C++中移位操作
- 黑马程序员—正则表达式
- 获取图片水印位置下接框(PHP代码函数)
- 透明度与十六进制代码转换
- java7读取文件大小
- socket通信
- Error和Execption的区别
- scrapy关于tbody标签的问题
- WindowListener(附带适配器改良方案)
- ClipCursor() -- 限制鼠标活动区域
- IOS开发证书问题和SVN工程迁移环境问题
- svn检出项目提示该文件不存在或者更换用户
- Win8Metro(C#)数字图像处理--2.3图像反色