zoukankan      html  css  js  c++  java
  • Java学习(4):统计一个文件中的英文,中文,数字,其他字符以及字符总数

    要求:统计一个文件中的英文,中文,数字,其他字符以及字符总数(此随笔以txt文件为例)

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    /**
     * 将一个文件中英文,中文,数字,其他字符以及字符总数统计出来
     * 
     * @author xcx
     * @time 2017年6月24日下午4:12:53
     */
    public class Statistics {
    
    	public static void main(String[] args) throws IOException {
    		String E1 = "[u4e00-u9fa5]";// 中文
    		String E2 = "[a-zA-Z]";// 英文
    		String E3 = "[0-9]";// 数字
    
    		String file = "d:\java\dd.txt";// 要读的文件路径
    		// 创建读入字节流
    		FileInputStream fis = new FileInputStream(file);
    		// 将字节流转化为字符流
    		InputStreamReader isr = new InputStreamReader(fis);
    		// 转化为缓存模式
    		BufferedReader br = new BufferedReader(isr);
    
    		int numSum = 0;// 记录数字字符
    		int letSum = 0;// 记录英文字符
    		int punSum = 0;// 记录标点字符
    		int chineseSum = 0;// 记录中文字符
    		int totle = 0;// 记录总字符
    
    		// 将读出来的字符复制到ss
    		String ss = "";
    		String s;
    		while ((s = br.readLine()) != null) {
    			ss += s;
    		}
    		// 遍历字符串
    		String temp;
    		for (int i = 0; i < ss.length(); i++) {
    			temp = String.valueOf(ss.charAt(i));
    			if (temp.matches(E1)) {// 如果该字符匹配中文
    				chineseSum++;
    			} else if (temp.matches(E2)) {// 如果该字符匹配英文
    				letSum++;
    			} else if (temp.matches(E3)) {// 如果该字符匹配数字
    				numSum++;
    			} else
    				punSum++;// 其他
    		}
    		
    		// 总的字符数
    		totle = numSum + letSum + punSum + chineseSum;
    
    		// 输出
    		System.out.println("数字有:" + numSum + "个");
    		System.out.println("英文有:" + letSum + "个");
    		System.out.println("其他字符有:" + punSum + "个");
    		System.out.println("中文有:" + chineseSum + "个");
    		System.out.println("总的字符有:" + totle + "个");
    	}
    
    }
    

      

  • 相关阅读:
    linux之正则表达式
    ssh远程连接centos
    centOS网络配置
    linux软件包的管理
    linux内存、进程管理
    cent_os_7进行磁盘分区
    linux文件压缩、磁盘分区、vi和软硬链接
    linux用户、群操作命令和文件权限修改
    c#控制台程序
    c#简易程序解释1
  • 原文地址:https://www.cnblogs.com/xcxfuryit/p/7112755.html
Copyright © 2011-2022 走看看