经过一个多月的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语句后面少一个大括号……
这个错误写出来仅仅为了提醒大家规范的重要性!!!
posted on 2010-11-17 21:29
tovep 阅读(2661)
评论(16) 编辑 收藏