java文件的重命名与移动操作实例代码
时间:2019-04-12
本文章向大家介绍java文件的重命名与移动操作实例代码,主要包括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<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文件的重命名与移动操作实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
- python--类方法、对象方法、静态方法
- Go语言内存分配器的实现
- Go 语言 数据库操作之链接数据库实现
- 对于tnsping的连接超时的功能补充(r9笔记第3天)
- struts2拦截器源码分析
- Go语言学习(一):hello world
- JAVA基础知识点:内存、比较和Final
- python django 学习(一)数据库 目的根据已有BBS建立新的网站步骤
- SpringMVC中@RequestMapping的基本用法
- Java面试系列13
- 【Go 语言 时间相关操作 demo】
- redis AOF保存机制
- 用 TensorFlow 让你的机器人唱首原创给你听
- 不用synchronized块的话如何实现一个原子的i++?
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释