小程序 · 2023年5月13日

分享一个清理内存卡和U盘里垃圾的小程序

有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个文件占用了内存太大了。

使用例子如下,用JAVA 运行Sort

1, 输入你要排序的文件路径 , 如 例子是对H:下的文件和它所有子文件夹下的文件进行排序

2, 输入需要进行排序显示的最新大小,如 例子是对10M 大小 以上的文件进行排序

3,从大到小排序后按

文件路径文件名——-大小 KB——–创建日期进行显示(yyyyMMdd)

格式进行显示,。

这样你就可以把太大的文件删除了,清理出空间

D:hjbsSorftwork�40207SortSizein>java com.he.jinbin.Sort
输入需要排序文件地址:H:
输入需要排序文件大小(单位M):10
运行中,请稍等…
从大到小文件排序为:
H:.android_securecom.sg.android.fish-1.asec——-36224000 KB——–20130525
H:BaiduMapmphquanguogailue.dat——-27616013 KB——–20130512
H:DownloadRedGame_Android_2017-2013-11-06_18-54-27-CI-20.apk——-26563096 KB——–20131111
H:ugameugameSDKdownloadsF9757F4442DD99FC89FA387C80405D2.apk——-26305964KB——–20131025
H:Downloadcom.tencent.mobileqq_60.apk——-25417880 KB——–20130714
H:Androiddatacom.android.gallery3dcacheimgcache.0——-22070789 KB——–20140210
H:ook�4异世灵武天下异世灵武天下.txt——-20279247 KB——–20131114
H:ook深入java虚拟机.pdf——-19936351 KB——–20130303
H:ook�4官途官途.txt——-19668417 KB——–20130907
H:ook金庸世界里的道士.txt——-19004109 KB——–20130102
H:wandoujiapatch快播_1390061188726.patch——-18649129 KB——–20140119
H:BaiduMapmphguangzhou_257.dat——-16645639 KB——–20140120
H:ook战皇.txt——-15588332 KB——–20121215
H:Downloadcom.tencent.mobileqq_52.apk——-15128435 KB——–20130521
H:ook�4超级农民超级农民.txt——-13913630 KB——–20130807
H:ook�4唐寅在异界唐寅在异界.txt——-13328290 KB——–20130726
H:ook�4末日蟑螂末日蟑螂.txt——-13177834 KB——–20131129
H:ook�4易筋经易筋经.txt——-12995888 KB——–20130715
H:ook�4抗战之红色警戒抗战之红色警戒.txt——-12828979 KB——–20130928
H:ook ew道.txt——-12445787 KB——–20130326
H:ook�4895淘金国度895淘金国度.txt——-12391071 KB——–20140104
H:ook�4权臣权臣.txt——-11949796 KB——–20130726
H:install�weishi_167.apk——-11342128 KB——–20131009
H:ook�3.9.19斗破苍穹.txt——-10776149 KB——–20130103
H:installaiduditu.apk——-10685159 KB——–20130511
H:DBOPResourcescfgdb.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  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 &gt;= 0; i--) {
            FileItem item = fileItems.get(i);
            System.out.println(item.getFileName() + "-------" + item.getSize()                    + " KB" + "--------" + fmt.format(item.getCreatTime()));
        }

    }
}</fileitem></fileitem>

登录后复制

虽然简单, 但个人看法是, 程序只是工具, 为生活带来便利就是好程序,不是为了show技术,仅仅是为了实用

【相关推荐】

1.

2.

以上就是分享一个清理内存卡和U盘里垃圾的小程序的详细内容,更多请关注GTHOST其它相关文章!