JAVA统计txt文件中行数、字符与单词数量

import java.io.*;
public class MainClass {
	public static void main(String[] args) {
		File file = new File("F:\\lear.txt");
		try {
			String  name = file.getName();
			System.out.println("File:"+name);
			FileReader fr = new FileReader(file);
			BufferedReader bufr = new BufferedReader(fr);
			int i = 0;
			while(bufr.readLine() != null)
			{
				i++;//累计行数
			}
			System.out.println("Lines:"+i);
			bufr.close();
			fr.close();
		}catch(Exception e)
		{
			e.printStackTrace();
		}
		
		//按字符读取
		try
		{
			FileReader fr = new FileReader(file);
			BufferedReader bfr = new BufferedReader(fr);
			char ch;
			char fch='A';
			int countc = 0;//字符数
			int countw = 0; //英文单词数
			while((ch = (char) bfr.read()) != (char)-1)//按字符读取文本内容
			{
				if(ch != '\n' && ch != '\r')  //统计文本中字符数
					countc++;//累计字符数
				if(!(ch>='a'&&ch<='z')&&!(ch>='A'&&ch<='Z')&&((fch>='a'&&fch<='z')||(fch>='A'&&fch<='Z')))
				{
					countw++;//累计单词数
				}
				fch=ch;
			}
			System.out.println("Words:"+countw);
			System.out.println("Chars:"+countc);
			bfr.close();
			fr.close();
		}
		catch(Exception e) 
		{
			e.printStackTrace();
		}
	}
}
  • 14
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值