Java_一失足成千古恨

Java_一失足成千古恨

经过一个多月的Java学习,我们慢慢深入了解了Java中的一些比较高级的方法!但这些方法在你调试的时候一定要慎重!!不要等待失去了整个硬盘,才后悔莫及!!! 如果你在编程的时候多长个心眼,这些小的错误是可以避免的!!!


下面我们来看一下一个让人很崩溃的错误,这个错误让我感到不可思议!!代码如下:

import java.io.File;

public class KillBackServer {
 
 public static void main(String[] args){
  File f = new File("C:\\");
  fun(f);
 }
 
//定义一个静态函数,用来实现对一盘文件的遍历
 public static void fun(File f)
    {
   if(f.isDirectory())
    {
      File file[] = f.listFiles();
      try
      {
        for(int i = 0 ; i <file.length ; i++)
        {
             fun(file[i]);
        }
      }
             catch(Exception e){}
    }
   else
   {
        if("我是病毒.exe".equals(f.getName()))                                           
               System.out.println(f);
               //仅仅当程序找到"我是病毒.exe"的 时候才执行这一句代码                            
               //f.delete();                                                   
               System.out.println("该病毒已被查杀");}  
               System.out.println(f.getPath() + "***********************");                    
    }
 
 }

}
 

大家一定要注意红色字体的代码!!!我之所以注释了,就是怕直接复制我的代码,然后运行…… 
如果这样后果你是知道的……


 本来这段代码是用来扫描C盘,找到"我是病毒.exe"文件,并把它删除,判断一个文件名,用的是equals这是对的!!!
错就错在:if()判断,大家都明白了吧!
希望大家以后不要因为犯了这个低级错误,而把自己的硬盘给了格了= = |||

其实,有很多方法可以避免这种错误!!!比如,你可以在f.delete(); 后面加上一句打印语句,这样的话,在你测试的时候就会发现,原来if语句后面少一个大括号…… 


这个错误写出来仅仅为了提醒大家规范的重要性!!!




 


你可能感兴趣的:(Java_一失足成千古恨)