Java作业整理 敏感词汇

原创 2015年07月07日 15:58:23

1. 敏感词汇分析(难)

要求:任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Scanner;
public class sensitive_Vocabulary {
	
	Scanner input=new Scanner(System.in);
	public String[] ch;  
	public void write(int number) throws Exception{
		System.out.println("请输入你的敏感词汇:");
  	  ObjectOutputStream output =
  		  new ObjectOutputStream(new FileOutputStream("sensitive.txt"));      
  	  for(int i = 0; i < number;i++){
  		 String str = input.nextLine();
  		 output.writeUTF(str);
  	  }
  	  
  	output.close(); 
    }
	public void readObject(int number) throws Exception{
		ObjectInputStream input = 
			new ObjectInputStream(new FileInputStream("sensitive.txt"));
		       ch = new String[number];
			for(int j = 0; j < number; j++){
		     ch[j] = input.readUTF();
		   //  System.out.println("敏感词汇为:"+ch[j]);
			}
		   	   input.close();
            }		
}




import java.util.Scanner;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class read_File {
      public static void main(String[] args) throws Exception {
    	  Scanner input=new Scanner(System.in);
    	  
    	  System.out.println("请输入你所要输入的敏感词汇个数:");
    	  int number=input.nextInt();
    	  int[] array=new int[number];
    	  for(int r=0;r<number;r++)
    		  array[r]=0;
    	  sensitive_Vocabulary test=new sensitive_Vocabulary();
    	  test.write(number);
    	  test.readObject(number);
            try {
            StringBuffer sb= new StringBuffer("");
            FileReader reader = new FileReader("G://test.txt");
            BufferedReader br = new BufferedReader(reader);
            String str = null;
            String str_fir;
            while((str = br.readLine()) != null){
                  sb.append(str+"\n");                
                  for(int k=0;k<number;k++){
                	  str_fir=" "+test.ch[k]+" ";
                	  
                	 array[k] += countStr(str,str_fir);
                //	 System.out.println(array[k] +" " +str+"\n"+test.ch[k]);
                  }
            }
          
            br.close();
            reader.close();
      }
      catch(FileNotFoundException e) {

                  e.printStackTrace();
            }
            catch(IOException e) {

                  e.printStackTrace();
            }
            for(int j=0;j<number;j++)
            	System.out.println("敏感词"+" "+test.ch[j]+" " +"有"+array[j]
            	                                                       +"个");
      }
      public static int countStr(String str1, String str2){ 
      	int counter=0;
          if (str1.indexOf(str2) == -1){  
              return 0;
          } 
              while(str1.indexOf(str2)!=-1){
              	counter++;
              	str1=str1.substring(str1.indexOf(str2)+str2.length());
              }
              return counter;  
      }  
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java实现敏感词过滤

敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来...
  • chenssy
  • chenssy
  • 2014年05月25日 15:42
  • 80722

java 敏感词汇屏蔽源代码

  • 2013年06月29日 21:43
  • 8KB
  • 下载

java课程设计敏感词汇分析

  • 2013年05月26日 22:33
  • 115KB
  • 下载

2017西安交大ACM小学期 敏感词汇[AC自动机]

敏感词汇 发布时间: 2017年7月5日 00:23   最后更新: 2017年7月6日 14:40   时间限制: 1500ms   内存限制: 128M 描述 我们知道,在进行聊天时,有些...

Log日志监听程序, Loglistener, 检查Log文件中的敏感词汇

package lwc; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsc...

敏感词汇,系统做过滤使用

  • 2016年10月10日 10:13
  • 118KB
  • 下载

Android前端判断敏感词汇

敏感词汇通常会在后台进行判断,但偶尔也会有在前端进行判断,其实很简单,就是对一个字符串中特定字符的替换。 ...

敏感词汇过滤(不区分大小写)

用户评论内容敏感词屏蔽,过滤

字符串多模式精确匹配(脏字/敏感词汇搜索算法)——TTMP算法 之理论如此

什么是TTMP算法?不好意思,我发布这篇文章之前,估摸是没有其他地方能找着该算法的,因为那是俺生造的。 TTMP是啥意思呢?是Terminator Triggered Multi-Pattern 的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java作业整理 敏感词汇
举报原因:
原因补充:

(最多只允许输入30个字)