java實(shí)現(xiàn)文件重命名的方法
本文實(shí)例講述了java實(shí)現(xiàn)文件重命名的方法。分享給大家供大家參考。具體如下:
下載的電影總是有一些存在網(wǎng)站名稱等沒用的信息 作為一個(gè)強(qiáng)迫癥患者 一定要?jiǎng)h除他們
package sys.file;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.*;
public class ZReName {
public static void main(String args[]) {
ZReName r = new ZReName();
r.replace();
//r.changeOrder();
}
public void replace (){
File dir = new File("G://電影//那年那兔那些事兒[原畫版]");
// 這里寫上發(fā)替換的文件夾路徑,注意使用雙斜杠
String[] files = dir.list();
File f = null;
String filename = "";
//String oldName = "[電影天堂www.dygod.cn]";
String oldName = ""; //名稱中要替換的部分
String newName = ""; //名稱中要替換成的樣子,為空時(shí)即為刪除
for (String file : files) {
f = new File(dir, file);
// 注意,這里一定要寫成File(fl,file)如果寫成File(file)是行不通的,一定要全路徑
filename = f.getName();
System.out.println(filename);
String S1= "\\d{4}.(優(yōu)酷網(wǎng)|搜狐視頻)-";
ZReName r = new ZReName();
boolean b = r.regex1(S1, filename);
oldName = r.regex(S1, filename);
if (b){
//f.renameTo(new File(fl.getAbsolutePath()+"http://"+filename.replace("要替換掉的內(nèi)容","替換成的內(nèi)容")));
//這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來替換了
// 這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來替換了
f.renameTo(new File(dir.getAbsolutePath() + "http://"+ filename.replace(oldName, newName)));
//將前X位刪除
//f.renameTo(new File(dir.getAbsolutePath() + "http://"+ filename.substring(9)));
}
}
System.exit(0);
}
public void changeOrder (){
File dir = new File("G://合并");
// 這里寫上發(fā)替換的文件夾路徑,注意使用雙斜杠
String[] files = dir.list();
File f = null;
String filename = "";
//String oldName = "[電影天堂www.dygod.cn]";
String oldName = ""; //名稱中要替換的部分
String newName = ""; //名稱中要替換成的樣子,為空時(shí)即為刪除
for (String file : files) {
f = new File(dir, file);
// 注意,這里一定要寫成File(fl,file)如果寫成File(file)是行不通的,一定要全路徑
filename = f.getName();
System.out.println(filename);
String S1= "\\d+";
ZReName r = new ZReName();
boolean b = r.regex1(S1, filename);
oldName = filename;
newName = r.regex(S1, filename)+" "+filename;
if (b){
//f.renameTo(new File(fl.getAbsolutePath()+"http://"+filename.replace("要替換掉的內(nèi)容","替換成的內(nèi)容")));//這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來替換了
// 這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來替換了
f.renameTo(new File(dir.getAbsolutePath() + "http://"+ filename.replace(oldName, newName)));
//將前X位刪除
//f.renameTo(new File(dir.getAbsolutePath() + "http://"+ filename.substring(9)));
}
}
System.exit(0);
}
//S1要查找的正則表達(dá)式,S2查找源
public String regex(String S1,String S2){
Pattern p = Pattern.compile(S1);
Matcher m = p.matcher(S2);
boolean result = m.find();
//System.out.println(result);
String S ="";
if (result) {
S = m.group();
System.out.println(S);
}
return S;
}
//S1要查找的正則表達(dá)式,S2查找源
public boolean regex1(String S1,String S2){
Pattern p = Pattern.compile(S1);
Matcher m = p.matcher(S2);
boolean result = m.find();
System.out.println(result);
return result;
}
}
希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。
相關(guān)文章
java中CompleteFuture與Future的區(qū)別小結(jié)
本文主要介紹了java中CompleteFuture與Future的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12
Java(Springboot)項(xiàng)目調(diào)用第三方WebService接口實(shí)現(xiàn)代碼
這篇文章主要介紹了如何使用Java調(diào)用WebService接口,傳遞XML參數(shù),獲取XML響應(yīng),并將其解析為JSON格式,文中詳細(xì)描述了WSDL文檔的使用、HttpClientBuilder和Apache?Axis兩種調(diào)用方式的具體實(shí)現(xiàn)步驟,需要的朋友可以參考下2025-02-02
詳細(xì)分析Java內(nèi)部類——局部內(nèi)部類
這篇文章主要介紹了Java局部內(nèi)部類的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java 內(nèi)部類的知識(shí),感興趣的朋友可以了解下2020-08-08
基于Java實(shí)現(xiàn)動(dòng)態(tài)切換ubuntu壁紙功能
這篇文章主要為大家詳細(xì)介紹了如何使用 Java 在 Ubuntu Linux 系統(tǒng)中實(shí)現(xiàn)自動(dòng)切換壁紙的示例程序,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
詳解設(shè)計(jì)模式中的proxy代理模式及在Java程序中的實(shí)現(xiàn)
代理模式主要分為靜態(tài)代理和動(dòng)態(tài)代理,使客戶端方面的使用者通過設(shè)置的代理來操作對(duì)象,下面來詳解設(shè)計(jì)模式中的proxy代理模式及在Java程序中的實(shí)現(xiàn)2016-05-05

