`

统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数(JAVA)

    博客分类:
  • J2SE
 
阅读更多

迅雷一道比较基础的笔试面试题目:Java实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数?

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;


public class FileCount {

	public static void ReadSubdirectory(File myDir) {
		// 判断myDir是否为文件目录
		if (myDir.isDirectory()) {
			File[] subFile = myDir.listFiles();
			for (int i = 0; i < subFile.length; i++) {
				// 如果列表下含有子目录
				if (subFile[i].isDirectory()) {
					ReadSubdirectory(subFile[i]);
				} else {
					ReadSubFile(subFile[i]);
				}
			}
		}
	}

	// 统计当前文件中数字 字母 空格的个数 和 文件行数
	public static void ReadSubFile(File file) {
		int numCount = 0;// 数字个数
		int letterCount = 0;// 字母个数
		int spaceCount = 0;// 空格个数
		int lineCount = 0;//行数
		int uniChar = 0;
		try {
			FileInputStream input = new FileInputStream(file);
			while ((uniChar = input.read()) != -1) {
				if (uniChar >= 48 && uniChar <= 57) {// 判断是否是数字
					numCount++;
				} else if ((uniChar >= 65 && uniChar <= 90) || (uniChar >= 97 && uniChar <= 122)) {// 判断是否是字母
					letterCount++;
				} else if (uniChar == 32) {// 判断是否是空格
					spaceCount++;
				}
			}
			BufferedReader buffer = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
			while(buffer.readLine() != null) {
				lineCount++;
			}
			System.out.println(file.getAbsolutePath());
			System.out.println(" 数字个数 : " + numCount);
			System.out.println(" 字母个数 : " + letterCount);
			System.out.println(" 空格个数 : " + spaceCount);
			System.out.println(" 行数数 : " + lineCount);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		ReadSubdirectory(new File("D://src"));
	}
}

 

分享到:
评论
1 楼 findwork2 2012-03-31  
此文八错,呵呵

相关推荐

    Java实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数

    Java实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数

    java算法计算文件个数

    实现统计某一目录下每个文件的文件名称及其中出现的字母个数、数字个数、空格个数及行数

    java实现wc程序:统计文件词数、字符数、行数等

    在编程领域,`wc`(word count)是一个常见的命令行工具,用于统计文件中的单词数、字符数和行数。这个工具在Unix和Linux系统中非常流行,但在Java环境中,我们可以自定义实现类似的功能。本篇文章将深入探讨如何...

    java文件操作代码片断实例实现统计文件中字母出现的个数功能

    本文将深入探讨如何使用Java来读取文件,并统计其中字母、数字、空格以及行数。这个功能对于文本分析或者日志处理等场景非常实用。 首先,我们需要引入Java的`java.io`包,它包含了进行文件操作所需的所有类。在...

    21道JAVA基础编程练习题

    上述文件中列出了一系列Java编程练习题,这些题目覆盖了Java编程的基础知识,适合初学者进行编程练习。下面我将详细解释每个练习题的知识点。 1. 兔子繁殖问题(斐波那契数列) 题目描述了著名的斐波那契数列问题,...

    蓝点被必做的算法经典题java.c/c++

    - 如果第一个字母相同,则需要进一步判断第二个字母。 - 注意处理大小写字母的问题,可以通过转换为统一的大写或小写来简化逻辑。 #### 程序23: 求100之内的素数 - **目标**: 找出100以内所有的素数。 - **程序...

    JAVA循环 练习题

    - **实现思路**:通过for循环遍历100到999之间的每一个数字,对于每个数字分别提取百位、十位、个位数字,计算它们的立方和并与原数比较。 #### 4. 分解质因数 - **题目解析**:分解数字90的质因数,并输出90 = 2 *...

    java机试题,java基础练习题

    【程序 7】 输入一行字符并统计字母、空格、数字和其他字符的个数,可以使用while循环读取字符,然后根据字符类型增加计数器。 【程序 8】 计算s=a+aa+aaa+...的值,需要知道项数,然后逐项累加。关键在于计算每一...

    一些java 的练习题帮助大家学习java

    - 使用条件判断语句(如if语句)判断每个字符是否为字母或数字,并相应增加计数器的值。 #### 8. 数字序列求和 - **题目描述**:给定一个数字a,计算a + aa + aaa + aaaa + aaaaa的值。 - **解题思路**: - 使用...

    50道经典Java逻辑编程题.docx

    - 每个数位可以选择1、2、3、4中的任意一个数字。 - 确保每一位数字都不相同。 #### 奖金计算 - **题目概述**:题目要求根据公司的利润I,按照不同的利润段计算应发放的奖金总数。 - **实现思路**: - 使用多个...

    java实验答案[借鉴].pdf

    在Java中,通过循环遍历100到999之间的所有数字,然后计算每位数字的立方和来找到水仙花数。 2. **素数判断**: 素数是大于1且只有1和它本身两个正因数的自然数。Java程序可以通过检查一个数是否能被2到它本身减1...

    java习题 适合于Java初学者

    【程序 7】统计字符类型的个数,如字母、空格、数字和其他字符,可以使用字符判断和计数变量。在Java中,可以利用`Character.isLetter()`、`Character.isDigit()`等方法进行判断。 【程序 8】这道题要求计算一个...

    java基础练习50题.doc

    【程序 7】读取一行字符,统计其中的字母、空格、数字和其他字符数量。使用循环和条件判断,根据字符类型增加对应的计数器。 【程序 8】此题要求计算特定形式的数字序列和,例如s=2+22+222+...。通过计算每个项的值...

    java入门题目

    可以使用数组或哈希表来存储每个字母的频率。 #### 题目八:计算特定序列的和 - **描述**:给定一个数a,计算a + aa + aaa + ... 的和。 - **解析**:通过循环构建序列中的每个部分,然后将其累加得到总和。例如,...

    java打印镂空金字塔

    这层循环用于输出每一行开始前的空格数,`lay - i`计算出当前行需要的空格数量,确保每行的星号居中对齐。 #### 3.4 第三层循环 ```java for (int j = 1; j * i - 1; j++) { ... } ``` 此循环用于控制每一行中星号...

    java实验答案.pdf

    在给定的代码中,通过for循环遍历100到999之间的所有数,用模运算和除法获取每一位数字,然后检查是否满足水仙花数的条件。这是一个基础的数学问题与编程结合的例子。 2. **素数判断**: - 代码展示了如何找出100...

    *组成的H字目(java)

    描述中提到的“任意选取一个字母”,意味着用户可能有选择字母的自由,而程序会根据所选的字母生成相应的图形。在这个例子中,我们关注的是字母“H”的图形表示。程序会根据字母形状的几何特性,用星号(*)在"data....

    java.io的基础应用

    2. **读文件统计**:这段代码展示了如何读取一个文件的每一行,并统计其中的字母、数字、空格和行数。使用`BufferedReader`来逐行读取文件,`readLine()`方法获取每行内容。将每一行转化为字符数组,遍历数组检查每...

    编程练习题 提高编程能力

    - **题目**:统计字符串中的空格个数。 - **知识点**: - 遍历字符串,使用条件语句判断每个字符是否为空格。 - 使用计数器记录空格出现的次数。 ### 10. 条件分支 - **题目**:根据输入的数字,输出对应的等级...

Global site tag (gtag.js) - Google Analytics