用java编写垃圾清理文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

垃圾文件清理

一引言

1设计目的

现在电脑使用频率越来越高,人们都用电脑上网,浏览网页,看视频等等,但同时也产生许多垃圾文件于电脑中,这时候自己编写一个垃圾文件清理的程序可以一劳永逸,并且锻炼了自己运用java的编程能力。

2运行环境

1.Windows7下Vmware Workstation 8.0安装Window XP

2.Eclipse helios

二系统设计

1知识要点

1)Java.io包的主要成分是几个类,它们是InputStream类、OutputStream类、File类、RandomAccessFile类和FileDescriptor类。

数据输入流的类层次结构

2)Java将流操作中常见的异常也定义为类的形式,主要有EOFException类、FileNotFoundException 类、IOException类和InterruptedIOException类

数据输出流的类层次结构

3)Date类位于java.util包中,通过它可以获取时、分、秒方面的信息。

4)垃圾文件后缀名:"log","tmp", "_mp", "gid", "chk", "old", "dmp", "bak", "hlp", "temp", "internet"

2系统功能设计流程图:

三系统实现

package com.datatransfer;

import java.io.File;

import java.io.IOException;

import java.text.SimpleDateFormat; import java.util.Date;

import java.util.HashMap;

public class test {

static String[] SYSARRAY = { "log","tmp", "_mp", "gid", "chk", "old",

"dmp", "bak", "hlp", "temp", "internet" };

static HashMap map = new HashMap(); //删除结果分类 static StringBuffer sb = new StringBuffer(); //删除结果详细

static long count = 0; //删除个数

static long scanCount = 0; //扫描个数

static long node = 0; //子文件夹

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

test t = new test();

java.util.Date now = new Date();

t.listFile("E:\\");

java.util.Date date=new Date();

TDoA(date,now);

System.err.println("共扫描:" + scanCount + "个文件");

System.err.println("共删除了:" + count + "个文件");

for (String str : SYSARRAY) {

System.err.println("共删除【"+str+"】类型垃圾文件:"+map.get(str)+"个");

}

System.err.println("=====================详细信息=====================");

System.err.println(sb.toString());

}

/**

* 获取文件夹下的所有文件

*/

File[] array = f.listFiles();

//JFileChooser j = new JFileChooser();

for (File file : array) {

if (file.isDirectory()) {

this.File(file);

} else {

System.out.println("扫描文件:" + file.getPath());

if (trimExtension(file.getName())) {

// System.err.println("删除:"+file.getPath());

file.delete();

count++;

sb.append("删除了:" + file.getPath());

sb.append("/n");

}

// System.err.println(j.getTypeDescription(file));

}

}

}

/**

* 扫描子目录文件

* @param f

*/

public void File(File f) { //一个经典的递归调用 File[] array = f.listFiles();

//JFileChooser j = new JFileChooser();

if (null != array) {

for (File file : array) {

if (file.isDirectory()) {

this.File(file);

} else {

// System.err.println(file.getName());

// System.err.println(j.getTypeDescription(file));

相关文档
最新文档