当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]为了减少网络中的不良信息对青少年造成的危害,设计了一种脏字过滤的软件,可以发现那些网页内容中含有的不良信息,便于网络管理员对网络文化的维护。

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

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

1 脏字过滤器的设计原理

脏字过滤器的原理图如图1所示。其原理如下:(1)对脏字库的内容进行分割,把脏字库中所有的脏字或词组分开,并把这些脏字或词组存入数组中;(2)将待测文件库中的文件进行逐个读取,并记录文件的内容;(3)在待测文件中查找是否存在刚存放脏字或脏词组内容的数组里面的内容,如果有,进行标注等操作;如果没有,继续检查待测文件库中的下一个待测文件,直到待测文件库中的待测文件都被检查完为止;(4)输出结果。即输出待测文件库中每个待测文件中包含脏字或脏词组的个数及出处等信息。


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操作,即可以得到待测文件库中的待测文件包含脏字次数及出处等相关信息的结果。

3 实验结果分析

脏字库的存放路径:D:脏字典file.txt;脏字库文件中的内容略。

待测文件库的存放路径:D:脏字待测文件库;文件库中存放了三个文件,分别为:test1.txt、test2.txt、test3.txt。

运行该过滤器软件后,得出的检测结果如图2所示。

由图可以看到把待测文件中脏字及脏词组出现的次数全部显示出来,结果与实际情况完全一致。
本文设计的脏字过滤器软件,已在myeclipse环境下通过Java语言实现,并对整个过滤器软件进行了测试,测试结果显示该设计完全可以达到对网页文件中的脏字进行过滤,还能指出这些脏字的数目及其出处。为网络管理员的管理带来方便,并给网络管理方面的编程人员提供了一个良好的开发平台。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

工业以太网是一种基于以太网技术的专用网络,广泛应用于工业控制领域。本文将介绍工业以太网的基本原理和特点,详细探讨其在工业控制领域的应用,包括实时控制、数据采集、设备监控和网络管理等方面。

关键字: 以太网 工业控制 网络管理

Python和Java是两种广泛应用于编程领域的高级编程语言,它们各有优劣。本文从程序设计应用、系统资源占用、高性能处理和语言特点等四方面详细介绍两种编程语言的区别。

关键字: python java 高性能处理

在这篇文章中,小编将为大家带来Java接口的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: java 接口 Interface

西班牙巴塞罗那2023年3月1日 /美通社/ -- 在MWC23 巴塞罗那期间,华为新产品解决方案发布会在2月27日下午成功举行。华为数据通信产品线副总裁赵志鹏发布了面向运营商政企业务的产业数字化专网解决方案及产品,旨在...

关键字: 华为 数字化 GE 网络管理

应该有不少小伙伴有假期打工的经历,那今天就来给公众号的读者朋友们分享一个二哥编程星球里一个球友在富士康打工 50 天的感受,相信大家看完后会深深触动的。

关键字: 物联网 java 博客

今天,小编将在这篇文章中为大家带来交换机的有关报道,通过阅读这篇文章,大家可以对交换机具备清晰的认识,主要内容如下。

关键字: 交换机 网络管理 局域网交换机

(全球TMT2021年12月14日讯)亚马逊云科技宣布推出完全托管的广域网(WAN)服务Amazon Cloud WAN,让企业更加轻松快捷地构建、管理和监控全球网络,无缝连接云端与本地。只需点击几下,企业用户即可通过...

关键字: 亚马逊 AN 网络管理 隔离

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能、服务质量等。另外,当网络出现故障时能及时报告和处理,并协调、...

关键字: 网络管理 硬件 软件

在过去的几年中,Python的普及速度令人惊叹,Java的王者地位也常年不衰。目前两者的竞争愈发激烈,怎么选择成为了许多初学者萦绕心中的问题,网上有很多版本的说法牵引着他们的思维,让本来很简单的问题复杂化。

关键字: python java

我们都知道,浏览一个网页,有两个很主要的“电脑”在共同运行,一台是远程的,为你提供网页数据的“服务器”,一台是你正在使用的客户端电脑。

关键字: javascript java
关闭
关闭