有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个文件占用了内存太大了。
使用例子如下,用java 运行sort
1, 输入你要排序的文件路径 , 如 例子是对h:\下的文件和它所有子文件夹下的文件进行排序
2, 输入需要进行排序显示的最新大小,如 例子是对10m 大小 以上的文件进行排序
3,从大到小排序后按
文件路径\文件名-------大小 kb--------创建日期进行显示(yyyymmdd)
格式进行显示,。
这样你就可以把太大的文件删除了,清理出空间
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
h:\book\2014\异世灵武天下\异世灵武天下.txt-------20279247 kb--------20131114
h:\book\深入java虚拟机.pdf-------19936351 kb--------20130303
h:\book\2014\官途\官途.txt-------19668417 kb--------20130907
h:\book\金庸世界里的道士.txt-------19004109 kb--------20130102
h:\wandoujia\patch\快播_1390061188726.patch-------18649129 kb--------20140119
h:\baidumap\vmp\h\guangzhou_257.dat-------16645639 kb--------20140120
h:\book\战皇.txt-------15588332 kb--------20121215
h:\download\com.tencent.mobileqq_52.apk-------15128435 kb--------20130521
h:\book\2014\超级农民\超级农民.txt-------13913630 kb--------20130807
h:\book\2014\唐寅在异界\唐寅在异界.txt-------13328290 kb--------20130726
h:\book\2014\末日蟑螂\末日蟑螂.txt-------13177834 kb--------20131129
h:\book\2014\易筋经\易筋经.txt-------12995888 kb--------20130715
h:\book\2014\抗战之红色警戒\抗战之红色警戒.txt-------12828979 kb--------20130928
h:\book\new\道.txt-------12445787 kb--------20130326
h:\book\2014\1895淘金国度\1895淘金国度.txt-------12391071 kb--------20140104
h:\book\2014\权臣\权臣.txt-------11949796 kb--------20130726
h:\install\360weishi_167.apk-------11342128 kb--------20131009
h:\book\2013.9.19\斗破苍穹.txt-------10776149 kb--------20130103
h:\install\baiduditu.apk-------10685159 kb--------20130511
h:\dbop\resources\cfg\db.cfg-------10647552 kb--------20130520
windows的弊端,不能对文件夹的大小进行显示。
就两个类,
package com.he.jinbin;import java.util.date;/**
* 用于排序逻辑实体类
*
* @author 何锦彬 qq 277803242
* */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;/**
* 用于排序逻辑主类
*
* @author 何锦彬 qq 277803242
* */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()));
}
}
}
虽然简单, 但个人看法是, 程序只是工具, 为生活带来便利就是好程序,不是为了show技术,仅仅是为了实用
【相关推荐】
1. 微信小程序源码下载
2. 微信小程序demo:仿商城
以上就是分享一个清理内存卡和u盘里垃圾的小程序的详细内容。