Java遍歷文件夾下所有文件并重新命名
本文實(shí)例為大家分享了Java遍歷文件夾下所有文件并重命名的具體代碼,供大家參考,具體內(nèi)容如下
項(xiàng)目中需要將一批文件全部重新命名,文件實(shí)在太多就寫了這個(gè)工具類
這個(gè)工具類是將路徑下的文件全部重新命名,且名字為同一個(gè)
package com.xingli.FileDemo;
import java.io.File;
/**
*@ClassName FileDemo
*@Description TODO
*@Author William
*@Date 2019/8/8 14:51
*@Version 1.0
*/
public class FileDemo {
public static void main(String[] args) {
changeFileName("D:\\paper");
}
/**
*@description: 通過(guò)文件路徑,修改該路徑下所有文件的名字
* @param path 文件夾路徑
* @return:
* @author: William
* @date 2019/8/8 14:52
*/
public static void changeFileName(String path){
File file = new File(path);
if(file.exists()){
File[] files = file.listFiles();
if (null == files || files.length == 0) {
System.out.println("文件夾是空的!");
return;
} else {
for (File file2 : files) {
if (file2.isDirectory()) {
changeFileName(file2.getAbsolutePath());
} else {
System.out.println("文件:" + file2.getAbsolutePath());
String filePath = file2.getAbsolutePath();
String fileName = filePath.substring(0,filePath.lastIndexOf("\\"))+"\\aaa"+filePath.substring(filePath.lastIndexOf("."));
File oriFile = new File(filePath);
boolean b = oriFile.renameTo(new File(fileName));
System.out.println(b);
}
}
}
}else{
System.out.println("該路徑不存在");
}
}
}
小編再為大家分享java使用File類批量重命名文件的一段代碼:
package test.java.com;
import java.util.*;
import java.io.*;
public class RenameFile {
public static void main(String args[]) {
File fl=new File("E://文件夾"); //這里寫上發(fā)替換的文件夾路徑,注意使用雙斜杠
String[] files=fl.list();
File f=null;
String filename="";
for(String file:files)
{
f=new File(fl,file);//注意,這里一定要寫成File(fl,file)如果寫成File(file)是行不通的,一定要全路徑
filename=f.getName();
// System.out.println(filename);
f.renameTo(new File(fl.getAbsolutePath()+"http://"+filename.replace("要替換掉的內(nèi)容", "替換成的內(nèi)容"))));//這里可以反復(fù)使用replace替換,當(dāng)然也可以使用正則表達(dá)式來(lái)替換了
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis-Flex實(shí)現(xiàn)分頁(yè)查詢的示例代碼
在MyBatis-Flex中實(shí)現(xiàn)分頁(yè)查詢時(shí),需要注意維護(hù)一個(gè)獲取數(shù)據(jù)庫(kù)總數(shù)的方法,詳細(xì)介紹了UserService、UserServiceImpl類以及Mapper.xml配置,感興趣的可以了解一下2024-10-10
Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程
這篇文章主要介紹了Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程,文中同時(shí)也整理了Java對(duì)數(shù)字類型的支持狀況及Number類中的方法,需要的朋友可以參考下2016-02-02
eclipse創(chuàng)建springboot項(xiàng)目的三種方式總結(jié)
這篇文章主要介紹了eclipse創(chuàng)建springboot項(xiàng)目的三種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java 回調(diào)機(jī)制(CallBack) 詳解及實(shí)例代碼
這篇文章主要介紹了 Java 回調(diào)機(jī)制(CallBack) 詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
SpringSecurity 手機(jī)號(hào)登錄功能實(shí)現(xiàn)
這篇文章主要介紹了SpringSecurity 手機(jī)號(hào)登錄功能實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-12-12
解決出現(xiàn) java.lang.ExceptionInInitializerError錯(cuò)誤問(wèn)題
這篇文章主要介紹了解決出現(xiàn) java.lang.ExceptionInInitializerError錯(cuò)誤問(wèn)題的相關(guān)資料,需要的朋友可以參考下2017-01-01
spring-boot整合ehcache實(shí)現(xiàn)緩存機(jī)制的方法
spring-boot是一個(gè)快速的集成框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過(guò)程。這篇文章主要介紹了spring-boot整合ehcache實(shí)現(xiàn)緩存機(jī)制,需要的朋友可以參考下2018-01-01
SpringCloud-Hystrix-Dashboard客戶端服務(wù)監(jiān)控的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringCloud-Hystrix-Dashboard客戶端服務(wù)監(jiān)控的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03

