0
点赞
收藏
分享

微信扫一扫

JAVA识别文本文件单词总数和指定单词数量

Sky飞羽 2022-04-30 阅读 50
package 课本;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
	public class demo3 {
	 public static void main(String[] args) {
	  BufferedReader br = null;
	  try {
		  System.out.println("请输入文件名:");
	    	Scanner reader=new Scanner(System.in);
	    	String fileName =reader.nextLine();
	   br = new BufferedReader(new FileReader(fileName));
	   StringBuffer sb = new StringBuffer();
	   String str = null;
	   FileInputStream fileIn=new FileInputStream(fileName);
	   StreamTokenizer in=new StreamTokenizer(fileIn);
	   while((str = br.readLine()) != null) {
	    sb.append(str);
	   }
	   String regex = "is";
	   Pattern pattern = Pattern.compile(regex);
	   Matcher matcher = pattern.matcher(sb);
	   int num = 0;
	   while(matcher.find()) {
	    num++;
	   }
	   System.out.println("单词is的数量: " + num);
	   int wordCount=0;
		double token;//存储读取的文本
	   while((token=in.nextToken())!=StreamTokenizer.TT_EOF) {
			if(token==StreamTokenizer.TT_WORD)
		wordCount++;
		}
		System.out.println("单词总数为:"+wordCount);
	  } 
	  
	  
	  catch (FileNotFoundException e) {
	   e.printStackTrace();
	  } catch (IOException e) {
	   e.printStackTrace();
	  } finally {
	   try {
	    if(null != br) {
	     br.close();
	    }
	   } catch (IOException e) {
	    e.printStackTrace();
	   }
	  }
	  
	 }
	}
	
	
	
	

 

 

举报

相关推荐

0 条评论