Java语言程序设计基础篇_编程练习题*18.29(某个目录下的文件数目)

题目:*18.29(某个目录下的文件数目)

编写一个程序,提示用户输入一个目录,然后显示该目录下的文件数。

和上一题(18.28)的思路差不多,把找到文件后累加大小到变量变成计数+1即可。

Java语言程序设计基础篇_编程练习题*18.28 (非递归目录大小)-CSDN博客

代码示例

编程练习题18_29FileCount.java

java 复制代码
package chapter_18;

import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;

public class 编程练习题18_29FileCount {
	public static void main(String[] args) {
		System.out.print("Enter a directory or a file: ");
		Scanner input = new Scanner(System.in);
		String directory = input.nextLine().replaceAll("\\\\", "//");
		
		System.out.println("There are "+FileCount(new File(directory)) + " files");
		input.close();
	}
	public static int FileCount(File file){
		int count = 0;
		ArrayList<File> files = new ArrayList<File>();
		files.add(file);
		while(!files.isEmpty()) {
			ArrayList<File> newList = new ArrayList<File>();
			for(File f : files) {
				if(f.isFile())
					count ++;
				else {
					File[] fileList = f.listFiles();
					if(fileList != null) {
						for(File f2:fileList){
							if(f2.isDirectory())
								newList.add(f2);
							else count ++;
						}
					}
				}
			}
			files = newList;
		}
		return count;
	}

}
输出结果
java 复制代码
Enter a directory or a file: C:\Users\Lenovo\eclipse-workspace\JavaFX\src\Text
There are 54 files
相关推荐
独孤求败Ace4 分钟前
第54天:Web攻防-SQL注入&数据类型&参数格式&JSON&XML&编码加密&符号闭合&复盘报告
xml·java·sql
南玖yy30 分钟前
数据结构完全指南:C语言实现与核心原理剖析
c语言·开发语言·数据结构
Python数据分析与机器学习35 分钟前
《基于大数据的营养果蔬推荐系统的设计与实现》开题报告
大数据·开发语言·人工智能·深度学习·神经网络·算法·计算机视觉
烂蜻蜓35 分钟前
HTML 表格的详细介绍与应用
开发语言·前端·css·html·html5
紫乾20141 小时前
idea cpu干到100%的解决方法?
java·ide·intellij-idea
小安同学iter1 小时前
SpringMVC(三)响应处理
java·spring
爱康代码2 小时前
c语言经典基础编程题
c语言·开发语言
努力小贼2 小时前
SpringBoot——Maven篇
java·spring boot·maven
Java开发追求者3 小时前
java 手搓一个http工具类请求传body
java·开发语言·http·调用第三方接口工具
百分百题库APP3 小时前
注册安全工程师考试科目有哪些?
学习·考试·题库·考证