JavaSE练习--IO_File文件序号标号器
请输入要标号文件夹路径:C:\Users\FrancisGaozhu\TempFile\test\1_b.mp4
路径指向非文件夹!
请输入要标号文件夹路径:C:\Users\FrancisGaozhu\TempFile\test1
文件夹不存在!
请输入要标号文件夹路径:C:\Users\FrancisGaozhu\TempFile\test1
操作完成!
1 package com.heqing.main; 2 3 import com.heqing.model.FileCompareBy; 4 5 import java.io.File; 6 import java.util.Arrays; 7 import java.util.Scanner; 8 9 public class Main { 10 public static void main(String[] args) { 11 Scanner input = new Scanner(System.in); 12 //region 提示用户输入对应的路径 13 System.out.print("请输入要标号文件夹路径:"); 14 String inputLine = input.nextLine(); 15 //endregion 16 File file = new File(inputLine); 17 //region 基本信息校验 18 if (!file.exists()){ 19 System.out.println("文件夹不存在!"); 20 return; 21 } 22 if (!file.isDirectory()){ 23 System.out.println("路径指向非文件夹!"); 24 return; 25 } 26 //endregion 27 File[] files = file.listFiles(); 28 FileCompareBy fileCompareBy = new FileCompareBy(); 29 Arrays.sort(files,fileCompareBy); 30 int successCount = 0; 31 for (int i = 0; i < files.length; i++) { 32 File current = files[i]; 33 String currentName = current.getName(); 34 StringBuilder sbCurrentName = new StringBuilder(); 35 if (currentName.contains("_")){ 36 currentName = currentName.split("_")[1]; 37 } 38 sbCurrentName.append(i+1).append("_").append(currentName); 39 File newCurrent = new File(current.getParent(),sbCurrentName.toString()); 40 if (current.renameTo(newCurrent)) { 41 successCount++; 42 } 43 } 44 if (successCount == files.length){ 45 System.out.println("操作完成!"); 46 }else { 47 System.out.println("操作未完成!"); 48 } 49 } 50 }
1 package com.heqing.model; 2 3 import java.io.File; 4 import java.util.Comparator; 5 6 public class FileCompareBy implements Comparator { 7 @Override 8 public int compare(Object o1, Object o2) { 9 if (!(o1 instanceof File) || !(o2 instanceof File)){ 10 throw new NotFileException("输入类型非文件类型"); 11 } 12 File file1 = (File)o1,file2 = (File)o2; 13 return file1.lastModified() < file2.lastModified() ? -1 : file1.lastModified() > file2.lastModified() ?1 : 0; 14 } 15 }
1 package com.heqing.model; 2 3 public class NotFileException extends RuntimeException{ 4 public NotFileException(String message) { 5 super(message); 6 } 7 }
浙公网安备 33010602011771号