【小程序分享篇 一 】開發了個JAVA小程序, 用於清除內存卡或者U盤里的垃圾文件非常有用


有一種場景, 手機內存卡空間被用光了,但又不知道哪個文件占用了太大,一個個文件夾去找又太麻煩,所以我開發了個小程序把手機所有文件(包括路徑下所有層次子文件夾下的文件)進行一個排序,這樣你就可以找出哪個文件占用了內存太大了。

 

 

使用例子如下,用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技術,僅僅是為了實用

源碼 下載地址https://github.com/bensonHe/sortFile

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM