java清除u盘内存卡里的垃圾文件示例
使用例子如下,用java 运行sort
1, 输入你要排序的文件路径 , 如 例子是对h:\下的文件和它所有子文件夹下的文件进行排序
2, 输入需要进行排序显示的最新大小,如 例子是对10m 大小 以上的文件进行排序
3,从大到小排序后按
文件路径\文件名-------大小 kb--------创建日期进行显示(yyyymmdd)
格式进行显示,。
这样你就可以把太大的文件删除了,清理出空间
运行例子:h盘指向我的手机内存卡
d:\hjbssorft\work\20140207\sortsize\bin>java com.he.jinbin.sort
输入需要排序文件地址:h:\
输入需要排序文件大小(单位m):10
运行中,请稍等...
从大到小文件排序为:
h:\.android_secure\com.sg.android.fish-1.asec-------36224000 kb--------20130525
h:\baidumap\vmp\h\quanguogailue.dat-------27616013 kb--------20130512
h:\download\redgame_android_2017-2013-11-06_18-54-27-ci-20.apk-------26563096 kb--------20131111
h:\ugame\ugamesdk\downloads\6f9757f4442dd99fc89fa387c80405d2.apk-------26305964kb--------20131025
h:\download\com.tencent.mobileqq_60.apk-------25417880 kb--------20130714
h:\android\data\com.android.gallery3d\cache\imgcache.0-------22070789 kb--------20140210
package com.he.jinbin;
import java.util.date;
/**
* 用于排序逻辑实体类
*/
public class fileitem implements comparable {
private string filename;
private long size;
private date creattime;
public fileitem(string filename, long size, date creadate) {
// todo auto-generated constructor stub
this.filename = filename;
this.size = size;
this.creattime = creadate;
}
public string getfilename() {
return filename;
}
public void setfilename(string filename) {
this.filename = filename;
}
public long getsize() {
return size;
}
public void setsize(long size) {
this.size = size;
}
public date getcreattime() {
return creattime;
}
public void setcreattime(date creattime) {
this.creattime = creattime;
}
@override
public int compareto(object o) {
if (this.size > ((fileitem) o).getsize())
return 1;
return -1;
}
}
package com.he.jinbin;
import java.io.bufferedinputstream;
import java.io.bufferedreader;
import java.io.file;
import java.io.ioexception;
import java.io.inputstream;
import java.io.inputstreamreader;
import java.text.simpledateformat;
import java.util.arraylist;
import java.util.collections;
import java.util.date;
import java.util.list;
/**
* 用于排序逻辑主类
*/
public class sort {
public static list<fileitem> fileitems = new arraylist<fileitem>();
public static fileitem maxfileitem;
public final static long m_1 = 1024 * 1024;
public static long temp = m_1; // 默认大于1m的文件
public static void addfileitem(file file) {
file[] filelist = file.listfiles();
for (int i = 0; i < filelist.length; i++) {
file = filelist[i];
if (file.isdirectory()) {
addfileitem(file);
} else {
if (file.length() > temp) {
fileitems.add(new fileitem(file.getpath(), file.length(),
new date(file.lastmodified())));
}
}
}
}
public static void main(string[] args) throws ioexception {
string filepath = null;
system.out.print("输入需要排序文件地址:");
bufferedreader inrd = new bufferedreader(new inputstreamreader(
system.in));
filepath = inrd.readline();
system.out.print("输入需要排序文件大小(单位m):");
inrd = new bufferedreader(new inputstreamreader(system.in));
temp = long.parselong(inrd.readline())*m_1;
inrd.close();
system.out.println("运行中,请稍等...");
file file = new file(filepath);
addfileitem(file);
simpledateformat fmt = new simpledateformat("yyyymmdd");
collections.sort(fileitems);
system.out.println("从大到小文件排序为:");
for (int i = fileitems.size() - 1; i >= 0; i--) {
fileitem item = fileitems.get(i);
system.out.println(item.getfilename() + "-------" + item.getsize()
+ " kb" + "--------" + fmt.format(item.getcreattime()));
}
}
}
推荐阅读