首页 > 开发 > Java > 正文

java文件的重命名与移动操作实例代码

2024-07-13 10:15:38
字体:
来源:转载
供稿:网友

文件的重命名与移动操作

有时候为了对文件进行统一访问与管理,需要把文件进行重命名,并移动到新的文件夹,如何实现呢?

一枚简单的java/189240.html">java小程序即可实现:

part_1:需求:我需要把<(E:/BaiduYun/传智播客_张孝祥_Java多线程与并发库高级应用视频教程下载)>文件夹下的所有子文件夹下的视频文件重命名,并移动到新的位置<(E:/BaiduYun/张孝祥_Java多线程与并发库)>;

part_2:目录结构如下:

E:/BaiduYun

java,文件重命名,代码,重命名文件,java给文件重命名

E:/BaiduYun/传智播客_张孝祥_Java多线程与并发库高级应用视频教程下载

java,文件重命名,代码,重命名文件,java给文件重命名

E:/BaiduYun/传智播客张孝祥_Java多线程与并发库高级应用视频教程下载/01传智播客张孝祥传统线程技术回顾

java,文件重命名,代码,重命名文件,java给文件重命名

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 该程序实现文件的重命名与移动操作; */public class RenameFiles {	private static File srcFolder;	// 源文件夹	private static File destFolder;	// 目的文件夹	private static List<File> srcFiles;	// 存放所有待命名的文件	static {		srcFolder = new File("E://BaiduYun//传智播客_张孝祥_Java多线程与并发库高级应用视频教程下载");		destFolder = new File("E://BaiduYun//张孝祥_Java多线程与并发库");		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);			// 视频文件的详细内容,例如:传统线程互斥技术			strBuilder.append(sequenceNumber + "_" + detailName + ".avi");			tempFile = new File(RenameFiles.destFolder, strBuilder.toString());			// 新文件的path			// each.renameTo(tempFile);//核心代码(实现重命名和移动)			System.out.println(tempFile.toString());			// 打印到控制台以便调试			strBuilder.delete(0, strBuilder.length());			// 切记将strBuilder进行清空		}		// end foreach	}	// end method-iterateRename	private static void iterateGetFiles(File srcFile) {		// 如果是文件夹,就继续深入遍历		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多线程与并发库

java,文件重命名,代码,重命名文件,java给文件重命名

总结

以上就是本文关于java文件的重命名与移动操作实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表