成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

java實現文件重命名

瀏覽:2日期:2022-09-04 16:04:21

背景

我們經常在網上下載一些視頻教程,然而這些視頻命名規則各不相同,即使對于相同類型的文件名來說,當文件數量很大且文件名全部是中文時,文件排序是非規則的,因此本篇博客主要講解一種改變文件夾名稱使得文件按照規律進行排序。

思路

根據文件名對文件進行排序,然后重命名文件即可。

代碼

規則:如 將文件名中帶有 “第八講 ”替換成“8”:

構建排序規則

/*** * @param filePath 文件夾位置 * @param startWorld 開始替換的字 * @param endWorld 結束替換的字*/ private void ReName(String filePath, String startWorld, String endWorld) { File file = new File(filePath); if (!file.exists() || !file.isDirectory()) { System.out.println('文件不存在'); return; } String[] list = file.list(); //以 第xxx講-文件全名 的鍵值對存儲文件 HashMap<String, String> paths = new HashMap<String, String>(); for (String str : list) { int start = str.indexOf(startWorld) + 1; int end = str.indexOf(endWorld); if (start != 0 && end != -1) {paths.put(str.substring(start, end), str); } else {System.out.println('文件 ' + str + ' 不滿足替換條件'); } } //對文件名進行排序 orderPath(filePath, endWorld, paths); }

排序

private void orderPath(String filePath, String endWorld, HashMap<String, String> paths) { if (paths.isEmpty()) { return; } TreeMap<Integer, String> map = new TreeMap<Integer, String>(); for (String str : paths.keySet()) { map.put(parseInt(str), paths.get(str)); } //重命名該文件 ReNameFile(filePath, endWorld, map); }

重命名

private void ReNameFile(String filePath, String endWorld, TreeMap<Integer, String> map) { for (int i : map.keySet()) { String path = map.get(i); File f = new File(filePath + File.separator + path); File dest = new File(filePath + File.separator + i + path.substring(path.indexOf(endWorld) + 1)); if (f.exists() && !dest.exists()) {f.renameTo(dest); } f = null; dest = null; } }

將中文描述的數字轉換為數字,如將 一百二十轉換為120

private int parseInt(String str) { if (str.length() == 1) { if (str.equals('十')) {return 10; } return getInt(str.charAt(0)); } else { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (c != ’百’ && c != ’十’) { sb.append(getInt(c));} } int res = Integer.parseInt(sb.toString()); if (str.charAt(str.length() - 1) == ’百’) {res *= 100; } else if (str.charAt(str.length() - 1) == ’十’) {res *= 10; } if (str.charAt(0) == ’十’) {res += 10; } return res; } }

完整代碼

import java.io.File;import java.util.HashMap;import java.util.TreeMap;/** * 將一個文件夾中所有滿足條件的文件名替換 * <p> * 條件:將從開始字到結束字的字符串替換成對應的數字 * <p> * 如:第八講 替換成 8 */public class Main { public static void main(String[] args) { Main m = new Main(); // 文件夾位置 String filePath = 'D:新建文件夾OOAD與UML教學視頻'; // 從哪個字(startWorld)開始替換到哪個字(endWorld)結束 String startWorld = '第'; String endWorld = '講'; m.ReName(filePath, startWorld, endWorld); } /*** * @param filePath 文件夾位置 * @param startWorld 開始替換的字 * @param endWorld 結束替換的字 */ private void ReName(String filePath, String startWorld, String endWorld) { File file = new File(filePath); if (!file.exists() || !file.isDirectory()) { System.out.println('文件不存在'); return; } String[] list = file.list(); //以 第xxx講-文件全名 的鍵值對存儲文件 HashMap<String, String> paths = new HashMap<String, String>(); for (String str : list) { int start = str.indexOf(startWorld) + 1; int end = str.indexOf(endWorld); if (start != 0 && end != -1) {paths.put(str.substring(start, end), str); } else {System.out.println('文件 ' + str + ' 不滿足替換條件'); } } //對文件名進行排序 orderPath(filePath, endWorld, paths); } private void orderPath(String filePath, String endWorld, HashMap<String, String> paths) { if (paths.isEmpty()) { return; } TreeMap<Integer, String> map = new TreeMap<Integer, String>(); for (String str : paths.keySet()) { map.put(parseInt(str), paths.get(str)); } //重命名該文件 ReNameFile(filePath, endWorld, map); } private void ReNameFile(String filePath, String endWorld, TreeMap<Integer, String> map) { for (int i : map.keySet()) { String path = map.get(i); File f = new File(filePath + File.separator + path); File dest = new File(filePath + File.separator + i + path.substring(path.indexOf(endWorld) + 1)); if (f.exists() && !dest.exists()) {f.renameTo(dest); } f = null; dest = null; } } private int parseInt(String str) { if (str.length() == 1) { if (str.equals('十')) {return 10; } return getInt(str.charAt(0)); } else { StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) {char c = str.charAt(i);if (c != ’百’ && c != ’十’) { sb.append(getInt(c));} } int res = Integer.parseInt(sb.toString()); if (str.charAt(str.length() - 1) == ’百’) {res *= 100; } else if (str.charAt(str.length() - 1) == ’十’) {res *= 10; } if (str.charAt(0) == ’十’) {res += 10; } return res; } } private int getInt(char c) { int res = -1; switch (c) { case ’一’: res = 1; break; case ’二’: res = 2; break; case ’三’: res = 3; break; case ’四’: res = 4; break; case ’五’: res = 5; break; case ’六’: res = 6; break; case ’七’: res = 7; break; case ’八’: res = 8; break; case ’九’: res = 9; break; case ’零’: res = 0; break; } return res; }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲黄色影片| 国产精品有限公司| 樱桃成人精品视频在线播放| 欧美电影免费观看高清完整版| 天堂va蜜桃一区二区三区| 亚洲国产91| 欧美激情一区二区三区全黄 | 国产91对白在线观看九色| 欧美亚洲免费在线| 尤物在线观看一区| 亚洲理伦在线| 亚洲天堂免费看| 亚洲性色视频| 中文字幕在线一区免费| 欧美精品aa| 中文在线资源观看网站视频免费不卡 | 国产一区导航| 国产精品麻豆一区二区| 欧美精品三区| 中文字幕不卡三区| 国户精品久久久久久久久久久不卡| 久久伊人中文字幕| 99热这里都是精品| 精品盗摄一区二区三区| 国产福利精品一区| 91精品久久久久久久91蜜桃| 久久电影网电视剧免费观看| 色88888久久久久久影院野外| 性久久久久久久久| 久久av一区| 天天操天天干天天综合网| 国产精品久久久久久久久婷婷| 一区二区三区日韩精品| 在线观看日韩av电影| 1024成人网| 一区二区三区导航| 亚洲成人tv网| 在线一区二区视频| 韩国在线一区二区| 69av一区二区三区| 成人听书哪个软件好| 精品久久久久一区二区国产| 99精品热视频| 中文字幕av在线一区二区三区| 欧美视频福利| 亚洲色欲色欲www| 一级日韩一区在线观看| 午夜精品视频在线观看| 色猫猫国产区一区二在线视频| 免费人成网站在线观看欧美高清| 欧美日韩精品欧美日韩精品一综合| 狠狠色丁香婷综合久久| 日韩欧美国产综合一区 | 亚洲综合欧美日韩| 日本不卡视频在线观看| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲欧美一区二区视频| 亚洲专区欧美专区| 久久av资源网| 精品福利视频一区二区三区| 欧美日韩1区2区3区| 亚洲一区二区三区激情| 日本丰满少妇一区二区三区| 国产乱码一区二区三区| 久久一区二区三区四区| 国内视频一区| 亚洲大片在线观看| 欧美精品久久一区| 97国产一区二区| 亚洲另类在线视频| 欧洲av在线精品| 91丨九色丨蝌蚪丨老版| 亚洲精品写真福利| 欧美这里有精品| 91在线porny国产在线看| 自拍偷拍国产亚洲| 欧美色网站导航| 成人福利电影精品一区二区在线观看| 国产精品蜜臀在线观看| 色先锋久久av资源部| 粉嫩久久99精品久久久久久夜| 国产精品久久久久久久久搜平片| 在线一区欧美| 国产在线精品免费| 国产午夜亚洲精品理论片色戒| 一本色道精品久久一区二区三区| 久久精品久久精品| 国产欧美一区二区精品秋霞影院| 亚洲欧美国产精品桃花| 国产曰批免费观看久久久| 欧美韩日一区二区三区四区| 另类天堂av| av中文字幕不卡| 亚洲图片有声小说| 欧美一区二区网站| 一区二区av| 国产69精品久久99不卡| 亚洲自拍偷拍网站| 日韩三级在线免费观看| 一本色道久久综合亚洲二区三区| 蜜桃视频一区二区三区在线观看| 国产亚洲制服色| 久久久久看片| 91在线观看一区二区| 日精品一区二区三区| 久久这里只有精品视频网| 一本色道久久综合精品竹菊| 成人av网站免费| 无码av免费一区二区三区试看 | 精品午夜久久福利影院| 国产精品美女一区二区在线观看| 日本丶国产丶欧美色综合| 国色天香一区二区| 激情深爱一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 精品视频1区2区3区| 影音先锋久久资源网| 国产精品综合一区二区三区| 一区av在线播放| 久久伊人中文字幕| 欧美日韩国产首页| 国产精品久久一区二区三区| av午夜一区麻豆| 日本不卡视频在线| 亚洲欧美激情在线| 欧美xxx久久| 在线观看国产一区二区| 亚洲韩日在线| 国产白丝网站精品污在线入口| 亚洲国产wwwccc36天堂| 亚洲国产高清不卡| 日韩美女一区二区三区| 日本高清免费不卡视频| 日韩午夜在线电影| 91网站在线观看视频| 国产九色sp调教91| 日韩精品欧美精品| 中文字幕一区二区在线观看 | 亚洲精品国产a| 2020国产精品自拍| 4438成人网| 色老汉av一区二区三区| 99精品国产在热久久| av成人老司机| 狠狠色狠狠色综合日日91app| 亚洲成人综合视频| 亚洲欧美中日韩| 国产午夜亚洲精品午夜鲁丝片| 6080国产精品一区二区| 久久一综合视频| 国产视频一区不卡| 亚洲小说欧美另类婷婷| 成人av免费在线| 日韩不卡手机在线v区| 亚洲人成网站在线| 久久老女人爱爱| 欧美一区二区人人喊爽| 在线国产电影不卡| 91久久亚洲| 欧美日韩亚洲一区二区三区在线观看 | 一本久道久久久| 国产精品国产精品| 色综合天天综合网天天狠天天 | 亚洲国产aⅴ天堂久久| 久久久久久色| 国产91精品入口| 欧美性色黄大片| 欧美一区二区三区播放老司机| 久久精品国产免费看久久精品| 亚洲综合国产| 中文字幕在线不卡一区| 五月天视频一区| 欧洲亚洲精品在线| 国产成人av网站| 国产精品丝袜黑色高跟| 欧美在线国产| 依依成人综合视频| 久久精品视频网| 午夜国产精品视频| 有码一区二区三区| 日韩女优av电影| 成人av在线网站| 国产日产欧美一区| 在线综合亚洲欧美在线视频| 欧美三级视频在线观看| 欧美日韩中文一区| 欧美丝袜丝交足nylons| 欧美吻胸吃奶大尺度电影| 欧美色涩在线第一页| 欧美三级午夜理伦三级中视频| 精品污污网站免费看| 欧美日韩精品一区视频| 欧美一区二区三区四区高清| 欧美精品123区| 日韩欧美高清一区| 国产亚洲欧美日韩日本| 中文字幕高清一区| 亚洲激情av在线| 午夜精品视频一区| 国产综合色在线|