java编写中毒代码,机器中毒啦。。。。。。。。。。。。

我的机器中毒了,导致机器上的每个html文件最后都包含下面两行代码

----O;K?? 団P慖

----D2q蘤#甛6陂馠??R圡宇http://www.333292.com/cb.js>

于是写这个程序把机器上所有的html文件最后两行删掉

这个程序了涉及到了java 读写文本、遍历目录及子目录、获得文件扩展名的操作。

import java.io.*;

public class ChangeFile {

public void changeFile(File inFile) {

String _temp;

boolean _hasVirus = false;

try {

// 读HTML文件...............................

FileReader _frd = new FileReader(inFile);

BufferedReader _brd = new BufferedReader(_frd);

// 将读出来的字符集写入另一个文件..................................

File outFile = new File(inFile.getPath() + ".tmp");

FileWriter _fwt = new FileWriter(outFile);

// 一行一行读文件,判断文件里是否包含病毒

_temp = _brd.readLine();

while (_temp != null) {

if (_temp.contains("団P慖")

|| _temp

.contains("R圡宇http://www.333292.com/cb.js>")) {

_hasVirus = true;

} else {

_fwt.write(_temp + "\n");

}

_temp = _brd.readLine();

}

_brd.close();

_frd.close();

_fwt.close();

// 删掉原文件,将新写的文件名改为源文件名

if (_hasVirus == true) {

inFile.delete();

outFile.renameTo(inFile);

// 形成记录文件D:\\log.txt

FileWriter _wlog = new FileWriter(new File("d:\\log.txt"), true);

_wlog.append(inFile.getPath() + " has virus;\n");

// System.out.println(inFile.getPath() + " has virus;");

_wlog.close();

} else {

outFile.delete();

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

// 遍历目录及子目录下所有的文件

public void searchSubFile(String dir) {

File _dir = new File(dir);

if (!_dir.exists()) {

System.out.println("文件或目录不存在");

return;

}

if (_dir.isDirectory()) {

File[] subFiles = _dir.listFiles();

for (int i = 0; i < subFiles.length; i++) {

System.out.println(subFiles[i].getPath());

searchSubFile(subFiles[i].getPath());

}

return;

}

// System.out.println(_dir.getPath());

// 遍历目录,开始更改文件

String _ext = getExtension(_dir);

if (_ext != null) {

if (_ext.equalsIgnoreCase("html") || _ext.equalsIgnoreCase("htm")) {

changeFile(_dir);

}

}

}

// 获得文件扩展名

public String getExtension(File file) {

String _filename = file.getName();

if ((_filename != null) && (_filename.length() > 0)) {

int i = _filename.lastIndexOf(".");

if ((i > 0) && (i < (_filename.length() - 1))) {

// System.out.println(_filename.substring(i + 1));

return _filename.substring(i + 1);

}

}

return null;

}

public static void main(String[] args) {

ChangeFile ttt = new ChangeFile();

ttt.searchSubFile("D:\\My_Dev");//此处换成你所需修改HTML文件的目录,然后java编译运行即可

}

}

posted on 2007-12-10 10:42 Xejuny 阅读(580) 评论(6)  编辑  收藏 所属分类: Java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值