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

Sky飞羽

关注

阅读 50

2022-04-30

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)

0 0 举报