要求:我们知道当我们的电脑运行速度非常慢的时候,我们认为电脑中毒了,那么我们该怎么办呢?我们会使用杀毒软件进行杀毒,我们会用杀毒软件杀毒,但我们有谁知道杀毒是怎么工作的呢?在此我写了一个简单的程序来模拟杀毒软件的程序,不知道对不对,请大家指教!
程序代码如下:
 
java模拟--杀毒程序_程序package com.dr.inoutput;
java模拟--杀毒程序_程序
java模拟--杀毒程序_程序
import java.io.File;
java模拟--杀毒程序_程序
java模拟--杀毒程序_杀毒_05
public class KillVirus {
java模拟--杀毒程序_java_08    
java模拟--杀毒程序_程序_09    
static String virus[] = new String[]{"nishi","woshi.txt","tashi.abc"};//建立一个字符串数组来存放病毒文件的名称
java模拟--杀毒程序_杀毒_12
    static String dir[]=new String[]{"c:\\","D:\\","e:\\","f:\\"};//电脑的磁盘
java模拟--杀毒程序_java_08
    static File f=null;
java模拟--杀毒程序_java_08    
public static void main(String args[])
java模拟--杀毒程序_java_17    
{
java模拟--杀毒程序_java_08        killVirus();
java模拟--杀毒程序_java_21    }

java模拟--杀毒程序_程序_22    
private static void killVirus() {
java模拟--杀毒程序_java_08        
for(int i=0;i<dir.length;i++)
java模拟--杀毒程序_休闲_26        
{
java模拟--杀毒程序_java_08            f
=new File(dir[i]);
java模拟--杀毒程序_java_08            fun(f);
java模拟--杀毒程序_java_21        }

java模拟--杀毒程序_java_08        
java模拟--杀毒程序_java_21    }

java模拟--杀毒程序_程序_34    
/*
java模拟--杀毒程序_java_08     * 判断一个File是文件还是目录,如果是文件就和病毒库的文件做比较,如果相同就删除。如果目录那就继续调用fun()函数
java模拟--杀毒程序_java_08     * 
java模拟--杀毒程序_java_08     * 
java模拟--杀毒程序_java_21     
*/

java模拟--杀毒程序_java_08    
public static void fun(File f)
java模拟--杀毒程序_java_41    
{
java模拟--杀毒程序_java_08        
if(f.isDirectory())
java模拟--杀毒程序_程序_45        
{
java模拟--杀毒程序_杀毒_48            
try{
java模拟--杀毒程序_java_08                File file[]
=f.listFiles();
java模拟--杀毒程序_java_08                
for(int i=0;i<file.length;i++)
java模拟--杀毒程序_java_53                
{
java模拟--杀毒程序_java_08                    
for(int j=0;j<virus.length;j++)
java模拟--杀毒程序_杀毒_57                    
{
java模拟--杀毒程序_java_08                        
if(virus[j].equals(file[i].getName()))
java模拟--杀毒程序_休闲_61                          
{
java模拟--杀毒程序_java_08                            
java模拟--杀毒程序_java_08                            file[i].delete();
java模拟--杀毒程序_java_21                          }

java模拟--杀毒程序_java_08                          System.out.println(file[i].getAbsolutePath());
java模拟--杀毒程序_java_21                    }

java模拟--杀毒程序_java_08                    fun(file[i]);
java模拟--杀毒程序_java_08                    
java模拟--杀毒程序_java_21                }

java模拟--杀毒程序_java_08                
java模拟--杀毒程序_java_73            }
catch(Exception e){}
java模拟--杀毒程序_java_08            
java模拟--杀毒程序_java_21        }

java模拟--杀毒程序_java_08        
java模拟--杀毒程序_java_08        
java模拟--杀毒程序_java_21    }

java模拟--杀毒程序_java_08
java模拟--杀毒程序_休闲_82}

java模拟--杀毒程序_程序
在此程序中建立了一个String数组,用来存放病毒文件的名称,这里就简单的写了三个。定义fun()函数对磁盘上的文件和病毒库的文件一一比对,如果有相同的就删除。