首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2012-10-07 
统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数(JAVA)迅雷一道比较基础的笔试面试题目:

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

迅雷一道比较基础的笔试面试题目: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   此文八错,呵呵

热点排行