来一个原创的

来一个原创的:

 

我的电脑里面莫名其妙的出现了一个文件_desktop.ini,不是系统的desktop.ini,而是前面有一个下划线,而且在每一个文件夹下面都有,NND,如果手工删除岂不是要类死,所以就打算用javafile类来编写一个程序,搜索一下硬盘里面的所有_desktop.ini文件,并且删除,顺便删除,同时统计一下花费了多少时间。结果搜索到了7000多个文件,妈的,如果手动删除要到后年马月,如果有兴趣的朋友还可以增加一些大小比较,还可以增加一个GUI界面,也不错,呵呵

 

package fd;

 

import java.io.*;

import java.util.*;

 

public class FileDelete {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       Long CurrTime = System.currentTimeMillis();

       System.out.println("Current Time is: " + CurrTime);

       Vector<String> v = new Vector<String>();

       // 讲我的驱动器的名字加入到一个vector里面,我用的是傻办法,

       // 我不知道用哪一个api可以讲系统中所有的驱动器名字罗列出来,如有知道,请告知

       v.add("C://");

       v.add("D://");

       v.add("E://");

       v.add("F://");

       v.add("G://");

       v.add("H://");

       v.add("J://");

       v.add("K://");

       v.add("L://");

       // 这个是要搜索的文件_desktop.ini

       String ss = "_desktop.ini";

       FileDel fd = new FileDel(ss, v);

       fd.setT(CurrTime);

       Enumeration E = v.elements();

       while (E.hasMoreElements()) {

           System.out.println(E.nextElement().toString());

       }

       fd.ListMem();

 

    }

 

}

 

class FileDel {

    private String FileName = null;

 

    private Vector Tv;

 

    private Long T = 0L ;

 

    private String StrElement = null;

 

    private int FileNumber = 0;

 

    public FileDel(String ss, Vector vv) {

       FileName = ss;

       this.Tv = vv;

    }

 

    public void ListMem() {

       // 列举对象Tv中的对象

       Enumeration it = Tv.elements();

       while (it.hasMoreElements()) {

           StrElement = (String) it.nextElement();

           File LM_File = new File(StrElement);

           System.out.println("Searching In Disk: " + StrElement);

           SearchFile(LM_File);

       }

       System.out.println("Total Number File Found: " + FileNumber);

 

       Long TT = System.currentTimeMillis() - T;

       System.out.println("Total Number Time Elapse " + TT);

 

    }

 

    public void SearchFile(File FileInput) {

       // 将文件夹里面的文件列出来

       File[] SF_File = FileInput.listFiles();

       for (File SF_TFile : SF_File) {

           if (SF_TFile.isFile()) {

              if (SF_TFile.getName().equals(FileName)) {

                  System.out.println("Found File in= "

                         + SF_TFile.getAbsolutePath());

                  try {

                     System.out.println(SF_TFile.getCanonicalPath());

                  } catch (IOException e) {

                     // TODO Auto-generated catch block

                     e.printStackTrace();

                  }

                  SF_TFile.delete();

 

                  // SF_TFile.

                  FileNumber++;

 

              }

 

           } else if (SF_TFile.isDirectory()) {

              this.SearchFile(SF_TFile);

              // 其实主要是这条语句了,利用递规,将文件夹再次搜索一遍

           }

 

       }

 

    }

 

    public void setT(Long t) {

       T = t;

    }

 

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值