使用例は以下の通りです。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:/ダウンロード/com.tencent.mobileqq_60.apk-----25417880 KB----------20130714
H:/Android/data/com.android.gallery3d/cache/imgcache.0-------22070789 KB--------20140210
次のようにコードをコピーします。
パッケージcom.he.jinbin;
java.util.Dateをインポートします。
/**
* 論理エンティティクラスをソートするために使用されます
*/
public class FileItem は Comparable { を実装します
プライベート文字列ファイル名;
プライベートロングサイズ。
privateDatecreatTime;
public FileItem(String fileName, long size, Date creatDate) {
// TODO 自動生成されたコンストラクター スタブ
this.fileName = ファイル名;
this.size = サイズ;
this.creatTime = 作成日;
}
public String getFileName() {
ファイル名を返します。
}
public void setFileName(String fileName) {
this.fileName = ファイル名;
}
public long getSize() {
返品サイズ;
}
public void setSize(ロングサイズ) {
this.size = サイズ;
}
public Date getCreatTime() {
戻り作成時間;
}
public void setCreatTime(Date creatTime) {
this.creatTime = 作成時間;
}
@オーバーライド
public int CompareTo(Object o) {
if (this.size > ((FileItem) o).getSize())
1を返します。
-1 を返します。
}
}
次のようにコードをコピーします。
パッケージcom.he.jinbin;
インポートjava.io.BufferedInputStream;
java.io.BufferedReaderをインポートします。
java.io.ファイルをインポートします。
インポート java.io.IOException;
java.io.InputStreamをインポートします。
インポートjava.io.InputStreamReader;
インポート java.text.SimpleDateFormat;
java.util.ArrayListをインポートします。
java.util.Collectionsをインポートします。
java.util.Dateをインポートします。
java.util.Listをインポートします。
/**
* ソートロジックに使用されるメインクラス
*/
パブリック クラス ソート {
public static List<FileItem> fileItems = new ArrayList<FileItem>();
public static FileItem maxFileItem;
パブリック最終静的ロング M_1 = 1024 * 1024;
public static long temp = M_1; // デフォルトでは 1M を超えるファイル
public static void addFileItem(File file) {
ファイル[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
ファイル = ファイルリスト[i];
if (file.isDirectory()) {
addFileItem(ファイル);
} それ以外 {
if (file.length() > temp) {
fileItems.add(new FileItem(file.getPath(), file.length(),
新しい日付(file.lastModified())));
}
}
}
}
public static void main(String[] args) throws IOException {
文字列ファイルパス = null;
System.out.print("並べ替えるファイルのアドレスを入力してください:");
BufferedReader inRd = new BufferedReader(new InputStreamReader(
システム.in));
ファイルパス = inRd.readLine();
System.out.print("ソートするファイルサイズ(単位M)を入力してください:");
inRd = 新しい BufferedReader(新しい InputStreamReader(System.in));
temp = Long.parseLong(inRd.readLine())*M_1;
inRd.close();
System.out.println("実行中です、お待ちください...");
ファイル file = 新しいファイル(ファイルパス);
addFileItem(ファイル);
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
Collections.sort(fileItems);
System.out.println("ファイルを最大から最小の順に並べ替えます:");
for (int i = fileItems.size() - 1; i >= 0; i--) {
FileItem アイテム = fileItems.get(i);
System.out.println(item.getFileName() + "------" + item.getSize()
+ " KB" + "--------" + fmt.format(item.getCreatTime()));
}
}
}