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();
		}
	}
}
发布了8 篇原创文章 · 获赞 18 · 访问量 2522

猜你喜欢

转载自blog.csdn.net/qq_19869749/article/details/103154116