Java-IO流(1)对文件和文件夹的操作
程序员文章站
2022-05-15 08:44:54
...
递归输出一个文件夹的大小 文件数量 文件个数
import java.io.File;
public class MoreFile {
private long len;
private String path;
File file;
private int filesize;
private int dirsize;
public MoreFile(String path) {
this.path=path;
this.file=new File(path);
Count(file);
}
public long getLen() {
return len;
}
public int getFilesize() {
return filesize;
}
public int getDirsize() {
return dirsize;
}
public static void main(String[] args) {
MoreFile dir = new MoreFile("F:/java-2018-12/IO");
System.out.println(dir.getLen());
System.out.println(dir.getDirsize());
System.out.println(dir.getFilesize());
}
//递归获取一个文件夹的大小 文件数量 文件个数
public void Count(File f){
if(f!=null&&f.exists()){
if(f.isFile()){
len+=f.length();
this.filesize++;
}else{
this.dirsize++;
for(File file:f.listFiles()){
Count(file);
}
}
}
}
}
递归打印一个文件夹每层的文件名
import java.io.File;
public class ListName {
private static long len = 0;
public static void main(String[] args) {
File f = new File("F:/java-2018-12/IO");
printName(f, 0);
Count(f);
System.out.println(len);
}
//递归打印出文件夹里每层所有的文件名
public static void printName(File src, int deep) {
//表示文件夹的第几层
for (int i = 0; i < deep; i++) {
System.out.print("-");
}
System.out.println(src.getName());
if (src == null && !src.exists())
return;
else if (src.isDirectory()) {
//listFiles()存储的为File对象【完整路径】
for (File f : src.listFiles()) {
printName(f, deep++);
}
}
}
}
上一篇: 腊肠怎么放?想知道如何保存就看这里
推荐阅读
-
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
-
使用NumPy和pandas对CSV文件进行写操作的实例
-
SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全面)
-
【操作系统作业—lab1】linux shell脚本 遍历目标文件夹和所有文件 | 包括特殊字符文件名的处理
-
文件流对二进制的读写操作
-
linux系统下对有空格的文件夹进行操作的方法
-
android对PDF文件的操作(上传、预览、下载和转存相册)
-
SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全
-
利用File类和IO流将一个文件夹的所有内容拷贝到另一个文件夹下
-
Linux学习笔记1:简单的Linux入门命令和基本的文件操作