微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柟缁㈠枟閸庡顭块懜闈涘缂佺嫏鍥х閻庢稒蓱鐏忣厼霉濠婂懎浜惧ǎ鍥э躬婵″爼宕熼鐐差瀴闂備礁鎲¢悷銉ф崲濮椻偓瀵鏁愭径濠勵吅闂佹寧绻傚Λ顓炍涢崟顓犵<闁绘劦鍓欓崝銈嗙箾绾绡€鐎殿喖顭烽幃銏ゅ川婵犲嫮肖闂備礁鎲¢幐鍡涘川椤旂瓔鍟呯紓鍌氬€搁崐鐑芥嚄閼搁潧鍨旀い鎾卞灩閸ㄥ倿鏌涢锝嗙闁藉啰鍠栭弻鏇熺箾閻愵剚鐝曢梺绋款儏濡繈寮诲☉姘勃闁告挆鈧Σ鍫濐渻閵堝懘鐛滈柟鍑ゆ嫹04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝曢梻浣藉Г閿氭い锔诲枤缁辨棃寮撮姀鈾€鎷绘繛杈剧秬濞咃絿鏁☉銏$厱闁哄啠鍋撴繛鑼枛閻涱噣寮介褎鏅濋梺闈涚墕濞诧絿绮径濠庢富闁靛牆妫涙晶閬嶆煕鐎n剙浠遍柟顕嗙節婵$兘鍩¢崒婊冨箺闂備礁鎼ú銊╁磻濞戙垹鐒垫い鎺嗗亾婵犫偓闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗26闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閳╁啯鐝栭梻渚€鈧偛鑻晶鎵磼椤曞棛鍒伴摶鏍归敐鍫燁仩妞ゆ梹娲熷娲偡閹殿喗鎲奸梺鑽ゅ枂閸庣敻骞冨鈧崺锟犲礃椤忓棴绱查梻浣虹帛閻熴垽宕戦幘缁樼厱闁靛ǹ鍎抽崺锝団偓娈垮枛椤攱淇婇幖浣哥厸闁稿本鐭花浠嬫⒒娴e懙褰掑嫉椤掑倻鐭欓柟杈惧瘜閺佸倿鏌ㄩ悤鍌涘 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻閻愮儤鍋嬮柣妯荤湽閳ь兛绶氬鎾閻樻爠鍥ㄧ厱閻忕偛澧介悡顖氼熆鐟欏嫭绀€闁宠鍨块、娆戠磼閹惧墎绐楅梻浣告啞椤棝宕橀敐鍡欌偓娲倵楠炲灝鍔氭繛鑼█瀹曟垿骞橀懜闈涙瀭闂佸憡娲﹂崜娑㈡晬濞戙垺鈷戦柛娑樷看濞堟洖鈹戦悙璇ц含闁诡喕鍗抽、姘跺焵椤掆偓閻g兘宕奸弴銊︽櫌婵犮垼娉涢鍡椻枍鐏炶В鏀介柣妯虹仛閺嗏晛鈹戦鑺ュ唉妤犵偛锕ュ鍕箛椤掑偊绱遍梻浣筋潐瀹曟﹢顢氳閺屻劑濡堕崱鏇犵畾闂侀潧鐗嗙€氼垶宕楀畝鍕厱婵炲棗绻戦ˉ銏℃叏婵犲懏顏犵紒杈ㄥ笒铻i柤濮愬€ゅΣ顒勬⒒娴e懙褰掓晝閵堝拑鑰块梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻锝夊箣閿濆憛鎾绘煕閵堝懎顏柡灞诲€濆畷顐﹀Ψ閿旇姤鐦庡┑鐐差嚟婵敻鎳濇ィ鍐ㄧ厴闁瑰鍋涚粻鐘绘⒑缁嬪尅鏀绘い銊ユ楠炲牓濡歌閸嬫捇妫冨☉娆忔殘閻庤娲栧鍫曞箞閵娿儺娓婚悹鍥紦婢规洟姊绘担铏瑰笡濞撴碍顨婂畷鏉库槈濮樺彉绗夊┑鐐村灦鑿ゆ俊鎻掔墛缁绘盯宕卞Ο鍝勵潔濡炪倕绻掗崰鏍ь潖缂佹ɑ濯撮柤鎭掑劤閵嗗﹪姊洪棃鈺冪Ф缂佺姵鎹囬悰顔跨疀濞戞瑦娅㈤梺璺ㄥ櫐閹凤拷
首页 > 硬件设计 > 嵌入式设计 > 基于Java的脏字过滤器设计

基于Java的脏字过滤器设计

时间:08-20 来源:3721RD 点击:

良好的网络文化对培养青少年的爱国意识、创新精神、促进青少年良好的个性发展以及文化学习等方面都有积极的作用。但是网络文化中混杂着种种不良因素,对青少年造成许多负面影响:网络中的不健康内容不利于青少年的成长,甚至造成许多青少年犯罪行为的不断发生;网络世界的虚拟性还会造成青少年对现实社会的不满,青少年对网络世界的过分迷恋会导致网络孤独,网络中多元化的内容会导致青少年认识偏差,网络的隐匿性容易使青少年道德弱化[1]。特别令人担忧的是不良的网络文化对青少年的犯罪起着推动作用,值得全社会关注和重视。

本文提出了一种脏字过滤器软件的设计,对网络中不良的内容进行查找、发现,避免这些不良网络文化侵蚀青少年的心灵健康。

1 脏字过滤器的设计原理

脏字过滤器的原理图如图1所示。其原理如下:(1)对脏字库的内容进行分割,把脏字库中所有的脏字或词组分开,并把这些脏字或词组存入数组中;(2)将待测文件库中的文件进行逐个读取,并记录文件的内容;(3)在待测文件中查找是否存在刚存放脏字或脏词组内容的数组里面的内容,如果有,进行标注等操作;如果没有,继续检查待测文件库中的下一个待测文件,直到待测文件库中的待测文件都被检查完为止;(4)输出结果。即输出待测文件库中每个待测文件中包含脏字或脏词组的个数及出处等信息。
\闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簼閹癸綁鏌i鐐搭棞闁靛棙甯掗~婵嬫晲閸涱剙顥氬┑掳鍊楁慨鐑藉磻濞戔懞鍥偨缁嬪灝鐎俊銈忕到閸燁偆绮诲☉妯忓綊鏁愰崨顔跨缂備礁顑勯懗鍓佹閹捐纾兼慨姗嗗厴閸嬫捇鎮滈懞銉モ偓鍧楁煥閺囨氨鍔嶉柟鍐茬焸濮婄粯鎷呴崨濠傛殘闂佽崵鍠嗛崕鎶藉箲閵忕媭娼ㄩ柍褜鍓欓锝嗙節濮橆厼浜滅紒鐐妞存悂寮查鍕拺闁圭ǹ娴风粻鎾寸箾鐠囇呭埌閺佸牊淇婇妶鍛櫤闁稿鍓濈换婵囩節閸屾稑娅e銈忕到閵堟悂骞冩禒瀣垫晬婵炴垶蓱鐠囩偤姊虹拠鈥虫灍闁荤噦濡囬幑銏犫攽鐎n亞鍊為梺闈浤涢崘銊ヮ洭濠电姷鏁告慨鐑藉极閹间礁纾规い鏍仜閻掑灚銇勯幒鎴濐仼缁炬儳顭烽弻鐔煎礈瑜忕敮娑㈡煟閹惧娲撮柟顔筋殜閺佹劖鎯旈垾鑼晼濠电姭鎷冮崘顏冪驳闂侀€涚┒閸斿秶鎹㈠┑瀣窛妞ゆ洖鎳嶉崫妤呮⒒娴e憡璐¢柟铏尵閳ь剚姘ㄦ晶妤佺┍婵犲洤绠瑰ù锝堝€介妸鈺傜叆闁哄啠鍋撻柛搴$-缁辩偤骞掑Δ浣叉嫽闂佺ǹ鏈悷銊╁礂瀹€鍕厵闁惧浚鍋呭畷宀€鈧娲滈弫璇差嚕娴犲鏁囬柣鎰問閸炵敻姊绘担鑺ョ《闁革綇绠撻獮蹇涙晸閿燂拷...

2 算法实现

 软件开发环境:myeclipse平台,Java语言。首先以myeclipse平台新建一个java project,在新建的project中需要导入下面相关文件:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

过滤器软件中main函数的主要内容如下:
public static void main(String[] args) {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String ans=null;
int cnt=0;//字库中关键词个数
int number=0;//脏字出现次数
String filepath="D:\\脏字待测文件库";
//待检测文件路径,此文件夹下可以放若干个待检测的文件
String fileLibrarypath="D:\\脏字典\\file.txt";
//脏字库文件的存放路径
File file = new File(filepath);
try {

//读入用户输入的回车键信息
System.out.println("请按回车键,查看过滤信息:");
String str = null;
str = br.readLine();
if (str != null) {
if (!file.isDirectory()) {
System.out.println("待检测文件路径
不对,请修改路径。");
} else if (file.isDirectory()) {
ans=getcontent(fileLibrarypath);
int k;
StringTokenizer sst=new
StringTokenizer(ans, "|");
k = sst.countTokens();
String[] record = new String[k];
while (sst.hasMoreElements()) {
record[cnt] = sst.nextToken();
cnt++;
}
String[] filelist = file.list();
for (int i = 0, flen = filelist.length; i
< flen; i++){
String temp = filepath +
"\\" + filelist[i];
number = searchkeyword(record,
cnt, temp);
System.out.println("第"+(i+1) +"文件中脏字出现的次数:" + number);
//字库中关键词个数
}
} else {
//提示用户按回车键
System.out.println("你还没有输入回
车键信息");
}
}
} catch (IOException e) {
e.printStackTrace();
}

//输出查询结果
if (ans != null) {
System.out.println("字库中关键词个数:"+ cnt);//字库中关键词个数
System.out.println("脏字库内容如下:"+ ans);
} else {
System.out.println("没有可以匹配的信息");
//输出脏字库中的内容
}
}

//得到指定路径文件中的内容
private static String getcontent(String filepath) {
String all = "";
File file = new File(filepath);
try {
if (!file.isFile()) {
System.out.println("文件路径不对,请修改路径");
} else {
File readfile = new File(filepath);
BufferedReader br = new BufferedReader(new FileReader(readfile));
String ss = br.readLine();
while (ss != null) {
all = all + ss;
//all中存放读取的文件内容信息
ss = br.readLine();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return all;
}

//在待测文件中匹配脏字出现的次数
private static int searchkeyword(String[] str, int cnt, String filepath){
int number = 0;
String s = "";
s = getcontent(filepath);
for (int i = 0; i < cnt; i++) {
if (s.indexOf(str[i]) > -1) {
number++;
}
}
return number;
}
至此,完成了脏字过滤器软件代码的编写工作,接下来可以进行run操作,即可以得到待测文件库中的待测文件包含脏字次数及出处等相关信息的结果。

鐏忓嫰顣舵稉鎾茬瑹閸╃顔勯弫娆戔柤閹恒劏宕�

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top