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

文件的重命名与移动操作

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

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

part_1:需求:我需要把文件夹下的所有子文件夹下的视频文件重命名,并移动到新的位置;

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

}

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值