java文件的重命名与移动操作实例代码
程序员文章站
2023-12-20 21:55:34
文件的重命名与移动操作
有时候为了对文件进行统一访问与管理,需要把文件进行重命名,并移动到新的文件夹,如何实现呢?
一枚简单的java小程序即可实现:
par...
文件的重命名与移动操作
有时候为了对文件进行统一访问与管理,需要把文件进行重命名,并移动到新的文件夹,如何实现呢?
一枚简单的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文件的重命名与移动操作实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!