java實(shí)現(xiàn)文件重命名的方法
本文實(shí)例講述了java實(shí)現(xiàn)文件重命名的方法。分享給大家供大家參考。具體如下:
下載的電影總是有一些存在網(wǎng)站名稱(chēng)等沒(méi)用的信息 作為一個(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://電影//那年那兔那些事兒[原畫(huà)版]");
// 這里寫(xiě)上發(fā)替換的文件夾路徑,注意使用雙斜杠
String[] files = dir.list();
File f = null;
String filename = "";
//String oldName = "[電影天堂www.dygod.cn]";
String oldName = ""; //名稱(chēng)中要替換的部分
String newName = ""; //名稱(chēng)中要替換成的樣子,為空時(shí)即為刪除
for (String file : files) {
f = new File(dir, file);
// 注意,這里一定要寫(xiě)成File(fl,file)如果寫(xiě)成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á)式來(lái)替換了
// 這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來(lái)替換了
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://合并");
// 這里寫(xiě)上發(fā)替換的文件夾路徑,注意使用雙斜杠
String[] files = dir.list();
File f = null;
String filename = "";
//String oldName = "[電影天堂www.dygod.cn]";
String oldName = ""; //名稱(chēng)中要替換的部分
String newName = ""; //名稱(chēng)中要替換成的樣子,為空時(shí)即為刪除
for (String file : files) {
f = new File(dir, file);
// 注意,這里一定要寫(xiě)成File(fl,file)如果寫(xiě)成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á)式來(lái)替換了
// 這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來(lái)替換了
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é),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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
Java入門(mén)教程--帶包的類(lèi)如何編譯與運(yùn)行
我們一般都是通過(guò)IDE(如Eclipse、Intellij Idea,STS等)來(lái)開(kāi)發(fā),調(diào)試java項(xiàng)目。在不借助IDE的情況下,如何編譯、運(yùn)行Java程序。打包編譯時(shí),會(huì)自動(dòng)創(chuàng)建包目錄,不需要自己新建包名文件夾。2022-12-12
詳細(xì)分析Java內(nèi)部類(lèi)——局部?jī)?nèi)部類(lèi)
這篇文章主要介紹了Java局部?jī)?nèi)部類(lèi)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java 內(nèi)部類(lè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)代理,使客戶(hù)端方面的使用者通過(guò)設(shè)置的代理來(lái)操作對(duì)象,下面來(lái)詳解設(shè)計(jì)模式中的proxy代理模式及在Java程序中的實(shí)現(xiàn)2016-05-05

