java例程练习(批量修改文件后缀名)
生活随笔
收集整理的這篇文章主要介紹了
java例程练习(批量修改文件后缀名)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*** 文件后綴名修改器* 說(shuō)明:UI部分* @author Yours風(fēng)之戀* * 創(chuàng)建時(shí)間:2012-8-8**/
public class UserInterface {public static void mainMenuDisplay() {System.out.println("-------------------批量修改文件后綴名----------------------");System.out.println(" Copyright 2012 ");System.out.println(" @author Yours風(fēng)之戀 ");System.out.println("-----------------------------------------------------------\n");}public static void helpMenuDisplay() {System.out.println("-------------------系統(tǒng)幫助-------------------");System.out.println("本系統(tǒng)需要兩個(gè)參數(shù):");System.out.println("1,需要修改的文件所在文件夾目錄");System.out.println("2,自定義的后綴名");}public static void waitUserInput() {System.out.println();System.out.println("系統(tǒng)正在等待您的輸入:");}
}
import java.io.File;
import java.util.Scanner;public class FEA {public static void main(String[] args) {init();start();}public static void start() {System.out.println("請(qǐng)輸入文件所在文件夾目錄,按回車(chē)鍵結(jié)束。");String dir = getInput();list(dir, 0);System.out.println("請(qǐng)輸入自定義的后綴名,按回車(chē)鍵結(jié)束。");String extension = getInput();long l1 = System.currentTimeMillis();change(dir, extension);long l2 = System.currentTimeMillis();System.out.println("后綴名修改成功,用時(shí):" + (l2-l1) + "毫秒");}public static void listFiles(File f, int level, int key) {if (!f.isDirectory()) {System.out.println("目錄不正確,本次服務(wù)結(jié)束 !");System.exit(0);}String preStr = "";for (int i = 0; i < level; i++) {preStr += " ";}File[] childs = f.listFiles();for (int i = 0; i < childs.length; i++) {System.out.println(preStr + childs[i].getName());if (childs[i].isDirectory() && key == 0) {listFiles(childs[i], level + 1, key);}}}public static void changeExtension(File f, String extension) {if (!f.isDirectory()) {System.out.println("目錄不正確,本次服務(wù)結(jié)束 !");System.exit(0);}File[] childs = f.listFiles();for (int i = 0; i < childs.length; i++) {if (childs[i].isFile()) {String parStr = childs[i].getParent();String filStr = childs[i].getName();StringBuilder sbStr = new StringBuilder(filStr);for(int k = sbStr.length() -1; k >= 0 ; k--) {char c = sbStr.charAt(k);if(c != '.') {sbStr.deleteCharAt(k);} else {break;}}sbStr.append(extension);File fx = new File(parStr, sbStr.toString());childs[i].renameTo(fx);}if (childs[i].isDirectory()) {changeExtension(childs[i], extension);}}}public static void change(String dir, String extension) {File f = new File(dir);changeExtension(f, extension);}public static void list(String dir, int key) {File f = new File(dir);listFiles(f, 0, key);}public static String getInput() {Scanner sc = new Scanner(System.in);return sc.next();}public static void init() {UserInterface.mainMenuDisplay();UserInterface.helpMenuDisplay();UserInterface.waitUserInput();}
}
另有源碼和可執(zhí)行文件:http://download.csdn.net/detail/haifengzhilian/4494395
另有源碼和可執(zhí)行文件:http://download.csdn.net/detail/haifengzhilian/4494395
轉(zhuǎn)載于:https://www.cnblogs.com/wjchang/archive/2012/08/12/3671582.html
總結(jié)
以上是生活随笔為你收集整理的java例程练习(批量修改文件后缀名)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《几何与代数导引》习题1.38
- 下一篇: 新建Web网站与新建Web应用程序的区别