مثال الاستخدام كما يلي، استخدم JAVA لتشغيل الفرز
1. أدخل مسار الملف الذي تريد فرزه، على سبيل المثال، المثال هو فرز الملفات ضمن H:/ والملفات ضمن جميع مجلداتها الفرعية.
2. أدخل الحجم الأحدث الذي يجب فرزه وعرضه، على سبيل المثال، المثال هو فرز الملفات التي يزيد حجمها عن 10 ملايين.
3. قم بالفرز من الكبير إلى الصغير ثم اضغط
مسار الملف/اسم الملف-------الحجم بالكيلو بايت--------تاريخ الإنشاء المعروض (yyyyMMdd)
تنسيق للعرض.
بهذه الطريقة يمكنك حذف الملفات الكبيرة جدًا وإخلاء المساحة.
مثال تشغيلي: يشير محرك الأقراص H إلى بطاقة ذاكرة هاتفي
انسخ رمز الكود كما يلي:
D:/hjbsSorft/work/20140207/SortSize/bin>java com.he.jinbin.Sort
أدخل عنوان الملف المراد فرزه: H:/
أدخل حجم الملف المراد فرزه (الوحدة م): 10
قيد التشغيل، يرجى الانتظار...
يتم ترتيب الملفات من الأكبر إلى الأصغر كالتالي:
H:/.android_secure/com.sg.android.fish-1.asec-------36224000 كيلو بايت--------20130525
H:/BaiduMap/vmp/h/quanguogailue.dat-------27616013 كيلوبايت--------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 كيلو بايت--------20130714
H:/Android/data/com.android.gallery3d/cache/imgcache.0-------22070789 كيلوبايت--------20140210
انسخ رمز الكود كما يلي:
package com.he.jinbin;
import java.util.Date;
/**
* يستخدم لفرز فئات الكيانات المنطقية
*/
يقوم FileItem من الفئة العامة بتنفيذ Comparable {
اسم ملف سلسلة خاص؛
حجم طويل خاص؛
publicDatecreatTime;
FileItem العام (اسم ملف السلسلة، الحجم الطويل، تاريخ الإنشاء) {
// TODO كعب المنشئ الذي تم إنشاؤه تلقائيًا
this.fileName = fileName;
this.size = size;
this.creatTime = createDate;
}
سلسلة عامة getFileName () {
إرجاع اسم الملف؛
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
getSize العامة الطويلة () {
حجم الإرجاع؛
}
حجم الفراغ العام (حجم طويل) {
this.size = size;
}
التاريخ العام getCreatTime() {
returncreatTime;
}
public void setCreatTime(Date creatTime) {
this.creatTime = creatTime;
}
@تجاوز
كثافة العمليات العامة قارن إلى (كائن س) {
إذا (this.size > ((FileItem) o).getSize())
العودة 1؛
العودة -1؛
}
}
انسخ رمز الكود كما يلي:
package com.he.jinbin;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
استيراد java.io.File؛
import java.io.IOException;
استيراد java.io.InputStream؛
استيراد java.io.InputStreamReader؛
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* الطبقة الرئيسية المستخدمة لفرز المنطق
*/
فرز الطبقة العامة {
List<FileItem> العام الثابت fileItems = new ArrayList<FileItem>();
FileItem العام الثابت maxFileItem؛
عام نهائي ثابت طويل M_1 = 1024 * 1024؛
public static long temp = M_1; // ملفات أكبر من 1M بشكل افتراضي
public static void addFileItem(ملف ملف) {
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
file = fileList[i];
إذا (file.isDirectory()) {
addFileItem(file);
} آخر {
إذا (file.length() > درجة الحرارة) {
fileItems.add(new FileItem(file.getPath(), file.length(),
تاريخ جديد(file.lastModified())));
}
}
}
}
public static void main(String[] args) يلقي IOException {
String filePath = null;
System.out.print("أدخل عنوان الملف المراد فرزه:");
BufferedReader inRd = BufferedReader الجديد (new InputStreamReader (
System.in));
filePath = inRd.readLine();
System.out.print("أدخل حجم الملف المراد فرزه (الوحدة م):");
inRd = new BufferedReader(new InputStreamReader(System.in));
temp = Long.parseLong(inRd.readLine())*M_1;
inRd. Close();
System.out.println("قيد التشغيل، يرجى الانتظار...");
ملف الملف = ملف جديد(filePath);
addFileItem(file);
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
Collections.sort(fileItems);
System.out.println("فرز الملفات من الأكبر إلى الأصغر:");
لـ (int i = fileItems.size() - 1; i >= 0; i--) {
عنصر FileItem = fileItems.get(i);
System.out.println(item.getFileName() + "-------" + item.getSize()
+ " KB" + "--------" + fmt.format(item.getCreatTime()));
}
}
}