【Java】文件IO遍历目录,统计文件个数

这是遍历我电脑上D盘下的一个目录,当然小伙伴们也可以修改这个目录地址,随意遍历你自己电脑上的文件目录,统计文件个数,代码如下:

import java.io.File;

public class Test {
	private static int count = 0; //统计文件个数
	public static void main(String[] args) {
		File file = new File("D:\\娱乐\\game\\WeGame");
		f1(file);
		System.out.println("文件个数:" + count);
	}
	
	public static void f1(File f) {
		if (f.exists()) {
			File[] listFiles = f.listFiles();
			for(File ff : listFiles) {
				if (ff.isDirectory()) {
					f1(ff);
					System.out.println("目录:" + ff.getAbsolutePath());
				} else {
					count++;
					System.out.println("文件:" + ff.getAbsolutePath());
				}
			}
		} else {
			System.out.println("抱歉,文件不存在!");
		}
	}
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个示例代码,可以实现统计一个文件夹所有 java 文件个数,以及统计所有子文件夹 java 文件除去空行和只有空格的行数: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class JavaFileStats { private static int javaFileCount = 0; // 统计 java 文件个数 private static int totalLines = 0; // 统计所有 java 文件的总行数 private static int validLines = 0; // 统计所有 java 文件除去空行和只有空格的行数 public static void main(String[] args) { File dir = new File("D:\\example"); // 指定要统计文件夹 JavaFileStats.countJavaFiles(dir); System.out.println("Java file count: " + javaFileCount); System.out.println("Total lines: " + totalLines); System.out.println("Valid lines: " + validLines); } private static void countJavaFiles(File dir) { File[] files = dir.listFiles(); for (File file : files) { if (file.isFile() && file.getName().endsWith(".java")) { // 如果是 java 文件统计文件个数,并计算文件的行数和有效行数 javaFileCount++; countFileLines(file); } else if (file.isDirectory()) { // 如果是目录,递归遍历文件夹 countJavaFiles(file); } } } private static void countFileLines(File file) { int lines = 0; int valid = 0; try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; while ((line = reader.readLine()) != null) { lines++; if (!line.trim().isEmpty()) { valid++; } } } catch (IOException e) { e.printStackTrace(); } totalLines += lines; validLines += valid; } } ``` 在上面的示例,我们使用递归的方式遍历指定文件夹下的所有文件和子文件夹。对于每个 java 文件,我们使用 `BufferedReader` 读取文件内容,并统计文件的总行数和有效行数。其,有效行数指除去空行和只有空格的行数。 最后,我们输出统计结果,包括 java 文件个数、所有 java 文件的总行数、所有 java 文件有效行数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值