您的位置:首页 > 编程语言 > Java开发

如何用java写个病毒查杀软件

2013-08-14 13:10 176 查看
如何用java写个病毒查杀软件:

题目:在某个目录下,比如有个1.txt的文件(它是隐藏的,且扩展名也是隐藏的),而正好有个可执行文件名为1.txt.exe(自己故意做这样的文件),在你的电脑上显示的是1.txt(扩展名是隐藏的),你一不小心就点击它了,现在下面这个小java软件可以删点1.txt.exe 思路;用的是连个集合,一个装所以的文件,一个装隐藏文件,然后两个容器对比。 也许有更简单的思路,大家可以贴出来一起参考。。。 package IOTest; import java.io.*; import java.util.*; //删除隐藏的病毒
public class VirusTest { public static LinkedList<File> list1=new LinkedList<File>(); public static LinkedList<File> list2=new LinkedList<File>(); public static void main(String[] args) { File f=new File("D:/dir"); list(f);//递归出所有的文件及文件夹,同时把所有的文件放到list1集合里,隐藏文件放到list2集合里
//注意迭代器不能一一比较两个list集合,所以才有下面的for循环 for(int i=0;i<list1.size();i++){ for(int j=0;j<list2.size();j++){ if(list1.get(i).getName().contains(list2.get(j).getName())){ //System.out.println(list1.get(i)); if(!list1.get(i).getName().equals(list2.get(j).getName())&&list1.get(i).getName().endsWith("exe")){
//System.out.println(list1.get(i)); list1.get(i).delete(); } }//end if } }//end for } //依次全部打开文件里所有的文件及文件夹,递归 public static void list(File f){ File[] fn=f.listFiles(); for(int i=0;i<fn.length;i++){ //System.out.println(fn[i].getName()); list1.push(fn[i]);//把所有的文件存进集合1
if(fn[i].isDirectory()){

list(fn[i]); } if(fn[i].isHidden()){ list2.push(fn[i]);//把隐藏的文件存进集合2 } } } } }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐