我是靠谱客的博主 传统日记本,最近开发中收集的这篇文章主要介绍Java 文件操作 打印目录结构树 打印文件夹大小 打印文件夹内文件和文件夹个数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

package io;
import lombok.Getter;
import lombok.Setter;
import java.io.File;
/**
* @author wwkjk
* @date 2021-10-24 14:23:43
* @Description 实现读取文件夹的大小及包含的文件及文件夹的个数和打印目录结构
**/
@Setter
@Getter
public class StudyDir {
private long dirSize = 0;
private int fileCount = 0;
private int dirCount = 0;
public static void main(String[] args) {
String path = "D:/Code/IDEAWorkspace/ProjectMaven/SXTTest";
File file = new File(path);
StudyDir studyDir = new StudyDir();
//打印文档结构树
studyDir.printDir(new File(path), 0);
//统计路径下文件的大小、文件夹的个数、文件的个数
studyDir.dirTest(file);
System.out.println(studyDir.getDirSize());
System.out.println(studyDir.getDirCount());
System.out.println(studyDir.getFileCount());
}
/**
* @param file
* @return void
* @author wwkjk
* @date 2021-10-24 21:03:15
* @Description 使用递归计算出文件夹的大小、文件的个数、文件夹的个数
**/
private void dirTest(File file) {
//判断是否为文件
if (file.isFile()) {
this.dirSize += file.length();
this.fileCount++;
}
//判断是否为文件夹
if (file.isDirectory()) {
this.dirCount++;
File[] list = file.listFiles();
for (File f : list) {
dirTest(f);
}
}
}
/**
* @param file,level
* @return void
* @author wwkjk
* @date 2021-10-24 21:04:16
* @Description 打印文件目录结构树
**/
private void printDir(File file, int level) {
//打印层次划分
for (int i = 0; i < level; i++) {
System.out.print("-->");
}
//打印文件名
System.out.println(file.getName());
if (file.isDirectory()) {
File[] list = file.listFiles();
for (File f : list) {
printDir(f, level + 1);
}
}
}
}

最后

以上就是传统日记本为你收集整理的Java 文件操作 打印目录结构树 打印文件夹大小 打印文件夹内文件和文件夹个数的全部内容,希望文章能够帮你解决Java 文件操作 打印目录结构树 打印文件夹大小 打印文件夹内文件和文件夹个数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部