Java递归是一个很重要的东西, 很多病毒软件或者杀毒软件都使用到了递归的方式, 如何使用使用java递归扫描D盘C盘呢? 先来看看下面的示例:
public static void suffixRename(File scanFile) {
File[] fs = scanFile.listFiles();
if(fs != null) {
for (File file : fs) {
if(file.isDirectory()){
suffixRename(file);
}else{
//此处做一些事情
}
}
}
}那么如何在实际应用中扫描电脑D盘或者C盘呢? 例如上次小编电脑被黑客攻击, 把我C盘所有的txt文件加密成了hoop文件了, 如果想一个一个的改回来, 需要用一个星期时间, 那么我们可以使用java递归扫描C盘来快速才回来, 代码如下:
public class DecodeC {
private static String path = "C://";
private static String from = ".hoop";
private static String to = ".txt";
public static void main(String[] args) {
suffixRename(new File(path));
}
/**
*
* @param path 要批量修改后缀名文件夹路径
* @param from 源文件后缀名
* @param to 修改后目标文件后缀名
*/
public static void suffixRename(File scanFile) {
File[] fs = scanFile.listFiles();
if(fs != null) {
for (File file : fs) {
if(file.isDirectory()){
suffixRename(file);
}else{
System.out.println(file.getName());
String fileName = file.getName();
if(fileName.endsWith(from)){
// 比如 C://xxx/aaa.hoop 改成 C://xxx/aaa.txt
file.renameTo(new File(file.getParent()+"/" + fileName.substring(0, fileName.indexOf(from))+to));
}
}
}
}
}
}