/*
程序:
文件统计。
编写程序,统计英文文本文件中的字符数目和单词数目。
程序运行时,输入要统计的文件的名称,
程序处理后输出字符数目和单词数目。
*/
/*
本程序实现功能:
用户输入需要打开的文本,进行分析
程序去掉文本开头的空格和换行,从第一个非空格换行处开始统计
回车换行被当做两个字符统计
程序结束后输出结果
*/
import java.io.*;
import java.util.*;
import java.lang.*;
public class myFileStream
{
public static void main(String[] args)
{
int dig=0;//记录字符的个数
int word=0;//记录单词的个数
int flag=1;//用来判断最后一个字符
System.out.println("请输入文件名:");
Scanner in=new Scanner(System.in);
String fileName=in.nextLine();
try
{
FileInputStream f=new FileInputStream(fileName);
InputStreamReader inn=new InputStreamReader(f);
int b;
//清楚文件开头的空格和换行
while((b=inn.read())!=-1)
{
if(b==' '||b=='\n'||b=='\t') continue;
else break;
}
//开始统计
while((b=inn.read())!=-1)
{
if(b==' ')
{
word++;
flag=1; //若最后一个字符是空格等,置1
continue;
}
else if(b==','||b=='.'||b=='!'||b=='?')//遇到这些字符则也判断为一个单词,并且记录字符
{
word++;
dig++;
flag=0;
}
else //统计字符
{
dig++;
flag=0; //若最后一个字符不是空格等,置0
continue;
}
}
if(flag==0) word++;
System.out.println("文本中字符的个数为:"+dig);
System.out.println("文本中单词的个数为:"+word);
inn.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
skz132sky
- 粉丝: 7
- 资源: 39
最新资源
- 自己写的一个很小的工具,用于替换文件的扩展名 文件扩展名匹配的才会被替换,如果不指定原始扩展名,将修改所有文件的扩展名为新扩展名 如果新扩展名为空,则替换后文件将没有扩展名
- nginx整合lua脚本demo
- 欧标TYPE 2桩端充电枪
- (22782460)单片机设计(详细教程MSP430.zip
- UE-ORCA.zip
- (11696858)条形码生成打印
- 个人使用资源,请勿下载使用
- (180014056)pycairo-1.21.0-cp37-cp37m-win-amd64.whl.rar
- (3268844)3G无线基本知识.pdf
- 捷米特JM-PN-EIP(Profinet转Ethernet-IP)应用案例.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
前往页