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

网友投稿 345 2023-03-03


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

文件的重命名与移动操作

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

一枚简单的java小程序即可实现:

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

part_2:目录结构如下:

E:\BaiduYun

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

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

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 srcFiles;

// 存放所有待命名的文件

static {

srcFolder = new File("E:\\BaiduYun\\传智播客_张孝祥_Java多线程与并发库高级应用视频教程下载");

destFolder = new File("E:\\BaiduYun\\张孝祥_Java多线程与并发库");

srcFiles = new ArrayList();

}

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("指定的目标文件夹不存在.");

}IJlfGBrt

}

private static void iterateRename() {

String aviName = null;

String tempStr = null;

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:从源码角度简单看StringBuilder和StringBuffer的异同(全面解析)
下一篇:api文档和模拟数据接口(api模拟工具)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~