ตัวอย่างการใช้งานมีดังนี้ ใช้ 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:/ดาวน์โหลด/RedGame_Android_2017-2013-11-06_18-54-27-CI-20.apk -------26563096 KB-------20131111
H:/ugame/ugameSDK/ดาวน์โหลด/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;
-
* ใช้เพื่อเรียงลำดับคลาสเอนทิตีเชิงตรรกะ
-
FileItem คลาสสาธารณะนำไปใช้ที่เปรียบเทียบได้ {
ชื่อไฟล์สตริงส่วนตัว;
ขนาดยาวส่วนตัว
ส่วนตัว DatecreatTime;
FileItem สาธารณะ (ชื่อไฟล์สตริง ขนาดยาว วันที่ creatDate) {
// TODO ต้นขั้วคอนสตรัคเตอร์ที่สร้างขึ้นอัตโนมัติ
this.fileName = ชื่อไฟล์;
this.size = ขนาด;
this.creatTime = creatDate;
-
สตริงสาธารณะ getFileName() {
ส่งคืนชื่อไฟล์;
-
โมฆะสาธารณะ setFileName (ชื่อไฟล์สตริง) {
this.fileName = ชื่อไฟล์;
-
getSize ยาวสาธารณะ () {
ขนาดส่งคืน;
-
โมฆะสาธารณะ setSize (ขนาดยาว) {
this.size = ขนาด;
-
วันที่สาธารณะ getCreatTime () {
กลับสร้างเวลา;
-
โมฆะสาธารณะ setCreatTime (วันที่ creatTime) {
this.creatTime = creatTime;
-
@แทนที่
int สาธารณะ comparisonTo (วัตถุ o) {
ถ้า (this.size > ((FileItem) o).getSize())
กลับ 1;
กลับ -1;
-
-
คัดลอกรหัสรหัสดังต่อไปนี้:
แพ็คเกจ com.he.jinbin;
นำเข้า java.io.BufferedInputStream;
นำเข้า java.io.BufferedReader;
นำเข้า java.io.File;
นำเข้า java.io.IOException;
นำเข้า java.io.InputStream;
นำเข้า java.io.InputStreamReader;
นำเข้า java.text.SimpleDateFormat;
นำเข้า java.util.ArrayList;
นำเข้า java.util.Collections;
นำเข้า java.util.Date;
นำเข้า java.util.List;
-
* คลาสหลักที่ใช้สำหรับการเรียงลำดับลอจิก
-
คลาสสาธารณะเรียงลำดับ {
รายการคงที่สาธารณะ fileItems = new ArrayList <FileItem>();
FileItem สาธารณะคงที่ maxFileItem;
สาธารณะสุดท้ายคงยาว M_1 = 1,024 * 1,024;
public static long temp = M_1; // ไฟล์ที่มีขนาดใหญ่กว่า 1M โดยค่าเริ่มต้น
โมฆะสาธารณะคง addFileItem (ไฟล์ไฟล์) {
ไฟล์[] fileList = file.listFiles();
สำหรับ (int i = 0; i < fileList.length; i++) {
ไฟล์ = fileList [i];
ถ้า (file.isDirectory()) {
addFileItem(ไฟล์);
} อื่น {
ถ้า (file.length() > อุณหภูมิ) {
fileItems.add (FileItem ใหม่ (file.getPath (), file.length (),
วันที่ใหม่ (file.lastModified())));
-
-
-
-
โมฆะคงที่สาธารณะ main (String [] args) พ่น IOException {
สตริง filePath = null;
System.out.print("กรอกที่อยู่ของไฟล์ที่จะจัดเรียง:");
BufferedReader inRd = ใหม่ BufferedReader (InputStreamReader ใหม่ (
System.in));
filePath = inRd.readLine();
System.out.print("ระบุขนาดไฟล์ที่จะจัดเรียง (หน่วย M):");
inRd = ใหม่ BufferedReader (InputStreamReader ใหม่ (System.in));
อุณหภูมิ = Long.parseLong(inRd.readLine())*M_1;
inRd.ปิด();
System.out.println("กำลังดำเนินการ โปรดรอสักครู่...");
ไฟล์ไฟล์ = ไฟล์ใหม่ (filePath);
addFileItem(ไฟล์);
SimpleDateFormat fmt = SimpleDateFormat ใหม่ ("yyyyMMdd");
Collections.sort(รายการไฟล์);
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()));
-
-
-