日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

java實現文件重命名

瀏覽:27日期: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
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费人成网站在线观看欧美高清| 久久人人88| 视频在线观看一区二区三区| 狠狠干综合网| 亚洲黄页一区| 视频一区二区不卡| 亚洲性视频在线| 每日更新成人在线视频| 久久xxxx精品视频| 视频一区二区三区在线| 亚洲丝袜啪啪| 日韩三级精品| 97精品资源在线观看| 国产精品毛片久久久| 久久精品国产999大香线蕉| 高清av一区| 久久久久久久久丰满| 日韩三区在线| aa亚洲婷婷| 日韩精品一区二区三区av | 最近高清中文在线字幕在线观看1| 久久中文字幕一区二区| 国产精品99一区二区三区| 亚洲www免费| 午夜视频精品| 日韩精品亚洲aⅴ在线影院| 国产精品三级| 日产精品一区| 亚洲作爱视频| 国产精品欧美三级在线观看| 日产午夜精品一线二线三线| 久久久影院免费| 亚洲天堂日韩在线| 麻豆精品新av中文字幕| 久久精品亚洲欧美日韩精品中文字幕| 亚洲一区欧美激情| 国产欧美激情| 亚洲成av人片一区二区密柚| 在线日韩成人| 精品国产一区二区三区av片| 日韩av一级| 亚洲精品乱码久久久久久蜜桃麻豆 | 1024精品久久久久久久久| 亚洲一级在线| 欧美一级一区| 色婷婷精品视频| 综合激情一区| 国产 日韩 欧美 综合 一区| 亚洲成人免费| 国产欧美另类| 国产一区导航| 精品少妇一区| 免费视频久久| 成人黄色av| 男女男精品视频网| 精品一区二区三区视频在线播放| 亚洲欧洲一区| 韩日一区二区| 性欧美长视频| 国产一区二区三区黄网站| 亚洲综合日本| 成人黄色av| 日本中文字幕一区二区视频 | 久久精品天堂| 久久国产高清| 精品国产aⅴ| 一区二区三区国产在线| 国产精品久久久久av电视剧| 日韩av中文字幕一区二区三区| 日韩中文影院| 国产精品高清一区二区| 樱桃成人精品视频在线播放| 国产精品激情电影| 免费在线成人网| 日韩毛片视频| 国产伦一区二区三区| 中文一区在线| 欧美男人天堂| 国产伦理久久久久久妇女| 国产精品免费看| 日韩欧美一区二区三区免费观看| 日本电影久久久| 婷婷亚洲综合| 欧美日韩精品免费观看视完整 | 亚洲精品人人| 伊人影院久久| 亚洲性色av| 久久精品人人| 国产精品一区二区av日韩在线| 日韩中文字幕麻豆| 在线日韩中文| 涩涩av在线| 精品国产成人| 欧美a级一区二区| 日韩一区二区三区精品视频第3页| 亚洲国内欧美| 日韩在线综合| 国内精品美女在线观看| 国产精品亚洲产品| 日本欧美一区| 午夜电影一区| aa亚洲婷婷| 九一精品国产| 136国产福利精品导航网址| www.com.cn成人| 日韩1区2区| 欧美韩日一区| 国产+成+人+亚洲欧洲在线| 麻豆精品久久久| 久久gogo国模啪啪裸体| 久久国内精品视频| 日本成人在线网站| 日韩欧美美女在线观看| 亚洲另类av| 偷拍亚洲精品| 亚洲精品系列| 亚洲乱码视频| 日本伊人午夜精品| 欧美亚洲免费| 国产精品亚洲综合色区韩国| 国产麻豆一区二区三区| 国产精品视频一区二区三区四蜜臂 | 激情久久99| 麻豆国产精品| 精品一区二区三区免费看| 久久中文字幕一区二区| 精品久久久中文字幕| 激情久久一区二区| 成人在线超碰| 日韩国产一区二区三区| 久久九九精品| 亚洲欧洲一区二区天堂久久| 日韩中文欧美在线| 午夜天堂精品久久久久| 国产日韩精品视频一区二区三区| 91免费精品国偷自产在线在线| 69精品国产久热在线观看| 国产极品一区| 国产一区二区久久久久| 亚洲性色av| 尤物在线精品| 亚州国产精品| 久久久精品国产**网站| 福利在线免费视频| 欧美久久精品一级c片| 亚洲免费婷婷| 91精品视频一区二区| 久久亚洲国产精品尤物| 中文在线免费视频| av亚洲免费| 日韩精品中文字幕吗一区二区 | 国产v日韩v欧美v| 欧美成a人免费观看久久| 亚洲精品极品少妇16p| 蜜臀久久99精品久久久画质超高清 | 免费视频久久| 欧美亚洲综合视频| 国产在视频一区二区三区吞精| 欧美天堂视频| 久久国产88| 麻豆国产欧美一区二区三区| 99视频精品全部免费在线视频| 国产精品试看| 国产乱人伦精品一区| 国产不卡av一区二区| 欧美亚洲国产精品久久| 亚洲精品伊人| 国产一区不卡| 视频在线观看一区| 久久久精品国产**网站| 免费黄色成人| 久久精品99久久久| 日韩国产欧美| 日韩精彩视频在线观看| 中文字幕成在线观看| 乱人伦精品视频在线观看| 国产乱码精品一区二区三区亚洲人| 欧美13videosex性极品| 日韩中文字幕| 成人精品中文字幕| 四虎精品一区二区免费| 色天使综合视频| 91精品国产自产观看在线| 亚洲精品国产嫩草在线观看| 亚洲精品乱码久久久久久蜜桃麻豆| 国产一区二区三区免费在线| 日韩在线观看一区二区| 福利精品在线| 日本成人在线一区| 欧美日韩中文字幕一区二区三区 | 亚洲视频综合| 国产精品久久久久久模特| 久久中文字幕二区| 国产精品日本一区二区三区在线| 亚洲大片在线| 久久99性xxx老妇胖精品| 99热精品在线观看| 精品国产美女a久久9999| 亚洲乱码一区| 1024精品一区二区三区|