最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java文件的重命名與移動操作實例代碼

 更新時間:2017年12月28日 15:59:08   作者:_MIKE_SUN_  
這篇文章主要介紹了java文件的重命名與移動操作實例代碼,具有一定借鑒價值,需要的朋友可以參考下

文件的重命名與移動操作

有時候為了對文件進行統(tǒng)一訪問與管理,需要把文件進行重命名,并移動到新的文件夾,如何實現(xiàn)呢?

一枚簡單的java小程序即可實現(xiàn):

part_1:需求:我需要把<(E:\BaiduYun\傳智播客_張孝祥_Java多線程與并發(fā)庫高級應(yīng)用視頻教程下載)>文件夾下的所有子文件夾下的視頻文件重命名,并移動到新的位置<(E:\BaiduYun\張孝祥_Java多線程與并發(fā)庫)>;

part_2:目錄結(jié)構(gòu)如下:

E:\BaiduYun

E:\BaiduYun\傳智播客_張孝祥_Java多線程與并發(fā)庫高級應(yīng)用視頻教程下載

E:\BaiduYun\傳智播客張孝祥_Java多線程與并發(fā)庫高級應(yīng)用視頻教程下載\01傳智播客張孝祥傳統(tǒng)線程技術(shù)回顧

part_3:程序源碼+注釋:

package cn.mike.demo;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
/**
 * @author Administrator
 * @usage 該程序?qū)崿F(xiàn)文件的重命名與移動操作;
 */
public class RenameFiles {
	private static File srcFolder;
	// 源文件夾
	private static File destFolder;
	// 目的文件夾
	private static List<File> srcFiles;
	// 存放所有待命名的文件
	static {
		srcFolder = new File("E:\\BaiduYun\\傳智播客_張孝祥_Java多線程與并發(fā)庫高級應(yīng)用視頻教程下載");
		destFolder = new File("E:\\BaiduYun\\張孝祥_Java多線程與并發(fā)庫");
		srcFiles = new ArrayList<File>();
	}
	public static void main(String[] args) {
		// 對文件夾的合法性(是否存在)進行校驗
		try {
			checkFolder();
		}
		catch (FileNotFoundException e) {
			e.printStackTrace();
			return;
		}
		// 遍歷源文件夾把要修改的文件放到集合中
		iterateGetFiles(RenameFiles.srcFolder);
		// 對集合中的元素進行重命名(并移動到目標文件夾)
		iterateRename();
	}
	// end method-main
	private static void checkFolder() throws FileNotFoundException {
		if (!RenameFiles.srcFolder.exists()) {
			throw new FileNotFoundException("指定的源文件夾不存在.");
		}
		if (!RenameFiles.destFolder.exists()) {
			throw new FileNotFoundException("指定的目標文件夾不存在.");
		}
	}
	private static void iterateRename() {
		String aviName = null;
		String tempStr = null;
		StringBuilder strBuilder = new StringBuilder();
		File tempFile = null;
		String sequenceNumber = null;
		String detailName = null;
		// 遍歷list集合,逐個進行重命名
		for (File each : RenameFiles.srcFiles) {
			aviName = each.getName().substring(0, each.getName().length() - 4);
			// 獲取文件名稱(除去后綴名".avi")
			tempStr = each.getParent();
			// 父文件夾的名稱
			sequenceNumber = String.format("%02d", Integer.valueOf(aviName));
			// 兩位的序號,不足兩位用0補齊,例如:01
			detailName = tempStr.substring(tempStr.lastIndexOf("_") + 1);
			// 視頻文件的詳細內(nèi)容,例如:傳統(tǒng)線程互斥技術(shù)
			strBuilder.append(sequenceNumber + "_" + detailName + ".avi");
			tempFile = new File(RenameFiles.destFolder, strBuilder.toString());
			// 新文件的path
			// each.renameTo(tempFile);//核心代碼(實現(xiàn)重命名和移動)
			System.out.println(tempFile.toString());
			// 打印到控制臺以便調(diào)試
			strBuilder.delete(0, strBuilder.length());
			// 切記將strBuilder進行清空
		}
		// end foreach
	}
	// end method-iterateRename
	private static void iterateGetFiles(File srcFile) {
		// 如果是文件夾,就繼續(xù)深入遍歷
		if (srcFile.isDirectory()) {
			File[] files = srcFile.listFiles();
			for (File each : files) {
				iterateGetFiles(each);
			}
		} else if (srcFile.getAbsolutePath().endsWith(".avi")) {
			// 不是文件夾而且文件格式為avi,就將該文件添加到待命名文件的list集合中
			RenameFiles.srcFiles.add(srcFile);
		}
	}
	// end method-iterateGetFiles
}
// end class-RenameFiles

part_4:重命名及移動后的效果:

E:\BaiduYun\張孝祥_Java多線程與并發(fā)庫

總結(jié)

以上就是本文關(guān)于java文件的重命名與移動操作實例代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • 關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

    關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

    這篇文章主要給大家介紹了關(guān)于Java中靜態(tài)代碼塊執(zhí)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • 詳解Java如何實現(xiàn)多線程步調(diào)一致

    詳解Java如何實現(xiàn)多線程步調(diào)一致

    本章節(jié)主要講解另外兩個線程同步器:CountDownLatch和CyclicBarrier的用法,使用場景以及實現(xiàn)原理,感興趣的小伙伴可以了解一下
    2023-07-07
  • Springboot整合Freemarker的實現(xiàn)詳細過程

    Springboot整合Freemarker的實現(xiàn)詳細過程

    這篇文章主要介紹了Springboot整合Freemarker的實現(xiàn)詳細過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 實例解析Java日期格式工具類DateUtil.java

    實例解析Java日期格式工具類DateUtil.java

    本文主要對Java日期格式工具類DateUtil.java進行實例解析。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Java測試框架Mockito的簡明教程

    Java測試框架Mockito的簡明教程

    這篇文章主要介紹了Java測試框架Mockito的簡明教程,Mock 測試是單元測試的重要方法之一。本文介紹了基于 Java 語言的 Mock 測試框架 – Mockito 的使用。,需要的朋友可以參考下
    2019-06-06
  • java實現(xiàn)多人聊天系統(tǒng)

    java實現(xiàn)多人聊天系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)多人聊天系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Java實現(xiàn)基于JDBC操作mysql數(shù)據(jù)庫的方法

    Java實現(xiàn)基于JDBC操作mysql數(shù)據(jù)庫的方法

    這篇文章主要介紹了Java實現(xiàn)基于JDBC操作mysql數(shù)據(jù)庫的方法,結(jié)合實例形式分析了java使用JDBC實現(xiàn)針對mysql數(shù)據(jù)庫的連接、查詢、輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Java中finalize()詳解及用法

    Java中finalize()詳解及用法

    這篇文章主要介紹了Java中finalize()詳解及用法的相關(guān)資料,final是Java的關(guān)鍵字,它所表示的是“這部分是無法修改的”,需要的朋友可以參考下
    2017-03-03
  • Java中的JVM虛擬機內(nèi)存分配詳解

    Java中的JVM虛擬機內(nèi)存分配詳解

    這篇文章主要介紹了Java中的JVM虛擬機內(nèi)存分配詳解,虛擬機是一種能夠執(zhí)行 Java 字節(jié)碼的虛擬機,它是 Java 語言的核心組成部分,負責將 Java 代碼轉(zhuǎn)換為機器碼并執(zhí)行,JVM 提供了內(nèi)存管理、垃圾回收、線程管理等功能,需要的朋友可以參考下
    2023-10-10
  • java身份證驗證代碼實現(xiàn)

    java身份證驗證代碼實現(xiàn)

    java身份證驗證代碼實現(xiàn),需要的朋友可以參考一下
    2013-02-02

最新評論

马鞍山市| 股票| 南阳市| 昌黎县| 延长县| 旬邑县| 平阴县| 滨州市| 香河县| 阿克陶县| 吴江市| 绩溪县| 虞城县| 东乡族自治县| 精河县| 福州市| 高淳县| 梓潼县| 黄大仙区| 廊坊市| 新巴尔虎左旗| 澎湖县| 法库县| 浪卡子县| 多伦县| 嫩江县| 镇平县| 辽宁省| 尼木县| 宽甸| 松滋市| 河池市| 安图县| 松江区| 安庆市| 城固县| 怀远县| 德昌县| 石屏县| 舒兰市| 新邵县|