Java 读取某文件下的所有文件的大小 并将所有文件的文件名,以及对应大小输出在xls表格里
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
public class DocCountSize {
public static void main(String[] args) {
List<Bean> data = new ArrayList<Bean>();
//输入一个路径
String path="C:\\\\Program Files\\\\Java\\\\jre1.8.0_131\\\\bin\\\\dtplugin";
getFile(data, path);
save(data);
System.out.println("统计完毕");
}
private static void save(List<Bean> data) {
OutputStream os = null;
OutputStreamWriter osw = null;
try {
//将统计的数据大小统计为文件 路径
os = new FileOutputStream(new File("C:/d1.csv"));
osw = new OutputStreamWriter(os, "GBK");
for (Bean bean : data) {
osw.write(bean + "\r\n");
}
osw.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (os != null) {
try {
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (osw != null) {
try {
osw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
private static void getFile(List<Bean> data, String path) {
File f = new File(path);
File[] fs = f.listFiles();
if (fs == null) {
return;
}
for (File file : fs) {
//将统计的文件的字节数 转换为k 方便计算大小
if (file.isFile()) {
data.add(new Bean(file.getParentFile().getAbsolutePath(), file.getName(), (int) (getFileSize(file)/1024)));
} else {
getFile(data, file.getAbsolutePath());
}
}
}
private static int getFileSize(File f) {
InputStream fis = null;
try {
fis = new FileInputStream(f);
int docsize=fis.available();
return docsize;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return 0;
}
}
class Bean {
private String filePath;
private String fileName;
private int size;
public Bean(String filePath, String fileName, int size) {
this.filePath = filePath;
this.fileName = fileName;
this.size = size;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
// public String toString() {
// return filePath + "," + fileName + "," + size + "K";
// }
public String toString() {
return filePath + "," + fileName + "," + size;
}
}
Java 读取某文件下的所有文件的大小 并将所有文件的文件名,以及对应大小输出在xls表格里的更多相关文章
- java读取resource目录下的配置文件
java读取resource目录下的配置文件 1:配置resource目录 下的文件 host: 127.0.0.1 port: 9300 2:读取 / 代表resource目录 InputSt ...
- java 读取固定目录下的文件(和上篇差点儿相同)
package gao.org; import java.io.FileNotFoundException; import java.io.IOException; import java.io.Fi ...
- Java 读取指定目录下的文件名和目录名
需求:读取指定目录下的文件名和目录名 实现如下: package com.test.common.util; import java.io.File; public class ReadFile { ...
- Java读取WEB-INF目录下的properties配置文件
如何在Java代码中读取WEB-INF目录下的properties配置文件,下文给出了一个解决方案. 我们习惯将一些配置信息写在配置文件中,比如将数据库的配置信息URL.User和Password写在 ...
- Java 读取某个目录下所有文件、文件夹
/** * @Author: * @Description:获取某个目录下所有直接下级文件,不包括目录下的子目录的下的文件,所以不用递归获取 * @Date: */ public static Lis ...
- java读取项目路径下的中文文件乱码问题
出现乱码错误: 处理方案: 对文件路径中存在中文的,都要进行URLDecoder.decode(path,"UTF-8")编码转换 wordContent = URLEncoder ...
- java读取指定package下的所有class
JAVA如何扫描一个包下面的所有类,并加载到内存中去? spring中有一个<context:component-scan base-package="com.controller& ...
- Java读取Maven工程下的配置文件,工具类
Java开发中,经常需要在maven工程中读取src/main/resources下的配置文件: 思路如下: Class.getClassLoader() 返回类加载器ClassLoader,进而可以 ...
- Java读取maven目录下的*.properties配置文件
public class ReadProperties{ private static String proFileName = "/config/MQSubjectId.propertie ...
随机推荐
- instruments symbol name 不显示函数名!
那是因为instruments找不到编译好的dSYM 其它的什么修改配置都没什么用 最好的办法就是直接删除资源文件APP名. 资源库 -> Developer -> Xcode -> ...
- 【PHP】解析PHP的GD库
官方文档:http://php.net/manual/en/book.image.php 1.GD库简介 PHP可以创建和操作多种不同格式的图像文件.PHP提供了一些内置的图像信息函数,也可以使用GD ...
- C# 简单POST请求 同时防止中文乱码的出现
实现POST网络请求方法 public static string HttpPost(string url,string postDataStr) { string strReturn; //在转换字 ...
- CentOS 7.2编译安装PHP7
原文: https://typecodes.com/web/centos7compilephp7.html?utm_source=tuicool&utm_medium=referralPHP官 ...
- django 与 mysql 勾结指南
- Netty学习(八)-Netty的心跳机制
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a953713428/article/details/69378412我们知道在TCP长连接或者Web ...
- asp.net中 使用参数化mysqlparameter 保存数据时,总保存成一个汉字的解决方案。
var param = new MySqlParameter("@" + columName, property.Value); param.DbType = DbType.Str ...
- Win2012R2 AD主域控登录密码忘记
按照普遍的修改cmd.exe 的方法,还需要注意,DC主控制器修改密码需要在后面加上 /domain net user administrator 123 /domain
- 【计算机网络】OSI七层模型图解
1.物理层 建立.维护.断开物理连接.(由底层网络定义协议) 2.数据链路层 建立逻辑连接.进行硬件地址寻址.差错校验等功能.(由底层网络定义协议) 将比特组合成字节进而组合成帧,用MAC地址访问介质 ...
- Python threading 多参数传递方法
今天开启线程传递参数的时候,出现了一个小问题,一直不能传递多个参数,如下 import threading thread1 = threading.Thread(target=fun, args=[1 ...