基于Java的敏感詞過濾器設計-設計應用_第1頁
基于Java的敏感詞過濾器設計-設計應用_第2頁
基于Java的敏感詞過濾器設計-設計應用_第3頁
基于Java的敏感詞過濾器設計-設計應用_第4頁
基于Java的敏感詞過濾器設計-設計應用_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

精品文檔-下載后可編輯基于Java的敏感詞過濾器設計-設計應用良好的網絡文化對培養(yǎng)青少年的愛國意識、創(chuàng)新精神、促進青少年良好的個性發(fā)展以及文化學習等方面都有積極的作用。但是網絡文化中混雜著種種不良因素,對青少年造成許多負面影響:網絡中的不健康內容不利于青少年的成長,甚至造成許多青少年犯罪行為的不斷發(fā)生;網絡世界的虛擬性還會造成青少年對現(xiàn)實社會的不滿,青少年對網絡世界的過分迷戀會導致網絡孤獨,網絡中多元化的內容會導致青少年認識偏差,網絡的隱匿性容易使青少年道德弱化[1].特別令人擔憂的是不良的網絡文化對青少年的犯罪起著推動作用,值得全社會關注和重視。

本文提出了一種敏感詞過濾器軟件的設計,對網絡中不良的內容進行查找、發(fā)現(xiàn),避免這些不良網絡文化侵蝕青少年的心靈健康。

1敏感詞過濾器的設計原理

敏感詞過濾器的原理圖如圖1所示。其原理如下:(1)對敏感詞庫的內容進行分割,把敏感詞庫中所有的敏感詞或詞組分開,并把這些敏感詞或詞組存入數(shù)組中;(2)將待測文件庫中的文件進行逐個讀取,并記錄文件的內容;(3)在待測文件中查找是否存在剛存放敏感詞或臟詞組內容的數(shù)組里面的內容,如果有,進行標注等操作;如果沒有,繼續(xù)檢查待測文件庫中的下一個待測文件,直到待測文件庫中的待測文件都被檢查完為止;(4)輸出結果。即輸出待測文件庫中每個待測文件中包含敏感詞或臟詞組的個數(shù)及出處等信息。

2算法實現(xiàn)

軟件開發(fā)環(huán)境:myeclipse平臺,Java語言。首先以myeclipse平臺新建一個javaproject,在新建的project中需要導入下面相關文件:

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileNotFoundException;

importjava.io.FileReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.util.StringTokenizer;

過濾器軟件中main函數(shù)的主要內容如下:

publicstaticvoidmain(String[]args){

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

Stringans=null;

intcnt=0;//字庫中關鍵詞個數(shù)

intnumber=0;//敏感詞出現(xiàn)次數(shù)

Stringfilepath=“D:\\敏感詞待測文件庫”;

//待檢測文件路徑,此文件夾下可以放若干個待檢測的文件

StringfileLibrarypath=“D:\\敏感詞典\\file.txt”;

//敏感詞庫文件的存放路徑

Filefile=newFile(filepath);

try{

//讀入用戶輸入的回車鍵信息

System.out.println(“請按回車鍵,查看過濾信息:”);

Stringstr=null;

str=br.readLine();

if(str!=null){

if(!file.isDirectory()){

System.out.println(“待檢測文件路徑

不對,請修改路徑?!保?/p>

}elseif(file.isDirectory()){

ans=getcontent(fileLibrarypath);

intk;

StringTokenizersst=new

StringTokenizer(ans,“|”);

k=sst.countTokens();

String[]record=newString[k];

while(sst.hasMoreElements()){

record[cnt]=sst.nextToken();

cnt++;

}

String[]filelist=file.list();

for(inti=0,flen=filelist.length;i

flen;i++){

Stringtemp=filepath+

“\\”+filelist[i];

number=searchkeyword(record,

cnt,temp);

System.out.println(“第”+(i+1)+“文件中敏感詞出現(xiàn)的次數(shù):”+number);

//字庫中關鍵詞個數(shù)

}

}else{

//提示用戶按回車鍵

System.out.println(“你還沒有輸入回

車鍵信息”);

}

}

}catch(IOExceptione){

e.printStackTrace();

}

//輸出查詢結果

if(ans!=null){

System.out.println(“字庫中關鍵詞個數(shù):”+cnt);//字庫中關鍵詞個數(shù)

System.out.println(“敏感詞庫內容如下:”+ans);

}else{

System.out.println(“沒有可以匹配的信息”);

//輸出敏感詞庫中的內容

}

}

//得到指定路徑文件中的內容

privatestaticStringgetcontent(Stringfilepath){

Stringall=“”;

Filefile=newFile(filepath);

try{

if(!file.isFile()){

System.out.println(“文件路徑不對,請修改路徑”);

}else{

Filereadfile=newFile(filepath);

BufferedReaderbr=newBufferedReader(newFileReader(readfile));

Stringss=br.readLine();

while(ss!=null){

all=all+ss;

//all中存放讀取的文件內容信息

ss=br.readLine();

}

}

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

returnall;

}

//在待測文件中匹配敏感詞出現(xiàn)的次數(shù)

privatestaticintsearchkeyword(String[]str,intcnt,Stringfilepath){

intnumber=0;

Strings=“”;

s=getcontent(filepath);

for(inti=0;icnt;i++){

if(s.indexOf(str[i])-1){

number++;

}

}

returnnumber;

}

至此,完成了敏感詞過濾器軟件代碼的編寫工作,接下來可以進行run操作,即可以得到待測文件庫中的待測文件包含敏感詞次數(shù)及出處等相關信息的結果。

3實驗結果分析

敏感詞庫的存放路徑:D:\敏感詞典\file.txt;敏感詞庫文件中的內容略。

待測文件庫的存放路徑:D:\敏感詞待測文件庫;文件庫中存放了三個文件,分別為:test1.txt、test2.txt、test3.txt.

運行該過濾器軟件后,得出的檢測結果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論