java文件重命名(文件批量重命名)实例程序代码分享
发布时间:2023-07-20 06:45:06
标签:java,文件重命名,文件批量重命名
首先,查到java里文件重命名的方法为:renameTo();
我将180张图片放在d:\\backup下,用下面的程序进行重命名:
public void reName(){
String dir = "D:\\backup\\";
File file = new File(dir);
String fileName[] = file.list();
int number = fileName.length;
File newFile[] = new File[number];
System.out.println("number = " + number);
for(int i=0; i<number; i++) {
System.out.println((i+1) + ":" + fileName[i]);
newFile[i] = new File(dir+fileName[i]);
}
System.out.println("============分割线=============");
for(int i=0; i<number;i++){
boolean flag = newFile[number - (i+1)].renameTo(new File(dir + (i+1)+".bmp"));
if(flag){
System.out.println("重命名成功"+(i+1));
} else {
System.out.println("失败");
}
}
}
PS:java重命名失败的原因主要有以下几个:
1.源文件不存或不可写。
2.目标文件已存在。
3.源文件和目标不是在同一个盘时,不同的盘的文件格式是否相同。
下面是一个将待修改文件名和修改目的文件名分别存入数组中进行重命名的行为,比较不实用,应该将第一个参数改成目录名就好些了,不过,意思到就行了,^-^
/**
*
* @param from 保存需要修改的文件名数组
* @param to 保存修改后的文件名数组
*/
public void reName_1(String from[], String to[]){
int fileLength = from.length;
boolean flag = false;
boolean isOk = false;
int count = 0;
if(fileLength != to.length){
System.out.println("传入数组长度不一致,故不进行重命名操作");
return;
}else{
for(int i=0;i<fileLength;i++){
for(int j=0;j<fileLength;j++){
if(from[i].equals(to[j]) ){
flag = false;
System.out.println("error:存在相同文件名,系统拒绝重命名操作");
return;
}else{
flag = true;
}
}
}
if(flag){
System.out.println("开始进行文件重命名工作》》》");
for(int i=0;i<fileLength;i++){
isOk = new File(from[i]).renameTo(new File(to[i]));
if(isOk){
System.out.println("弟" + (i+1) +"个文件重命名成功");
count++;
}
}
if(count == fileLength){
System.out.println("全部重命名成功");
}else{
System.out.println("存在重命名未成功的文件,请人工查看更改");
}
}
}
}


猜你喜欢
- 在 Kotlin 中,reduce() 和 fold() 是函数式编程中常用的高阶函数。它们都是对集合中的元素进行聚合操作的函数,将一个集合
- 本文实例讲述了C#获取文件创建时间的方法。分享给大家供大家参考。具体如下:C#获取文件创建时间,主要用到了FileInfo的Creattio
- 基本步骤三数取中在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。在此我们采用三数取中法,也就是取左端、中间
- 在java里, 我们可以使用Executors.newFixedThreadPool 来创建线程池, 然后就可以不停的创建新任务,并用线程池
- 1. 概述官方JavaDocsApi: javax.swing.JFrameJFrame,窗口。JFrame 是一个可以独立显示的组件,一个
- C++11中的std::packaged_task是个模板类。std::packaged_task包装任何可调用目标(函数、lambda表达
- 本文实例讲述了Android基于ViewPager实现的应用欢迎界面。分享给大家供大家参考,具体如下:有时候开发一个应用需要指导用户提示一些
- mybatis实体类字段大小写问题 字段获取不到值由于前期设计问题,项目中需要用到的一个字段 rootpath,所以我再实体层加了这么一个字
- 在 Flutter 中使用图片是最基础能力之一。作为春节开工后的第一篇文章,17 做了精心准备,满满的都是干货!本文介绍如何在 Flutte
- 本文实例为大家分享了java数据库唯一id生成工具类的具体代码,供大家参考,具体内容如下import java.io.File;import
- 背景在我们日常开发中,多线程管理一直是非常头疼的问题之一,尤其在历史性长,结构复杂的app中,线程数会达到好几百个甚至更多,然而过多的线程不
- 前面介绍了一些,基本的概念和需要具备的编程知识。下面开始来进行代码的编写,前面已经提到了最终的代码会是一个的http服务器的小demo&am
- activity动画方式在AndroidMenifest中添加activity的动画属性windowAnimationStyle <i
- 本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下:在Java中对于字符串数组的排序,我们可
- 当采用HttpClient httpClient = HttpClients.createDefault() 实例化的时候。会导致Addre
- 如何将jar包打包到指定目录今天分享一下springboot将jar包打包到指定目录下。由于之前上线都是一个打包到一个jar,由于服务多了,
- 本文实例讲述了C#写入对象或集合类型数据到xml文件的方法。分享给大家供大家参考。具体实现方法如下:public static string
- spring Boot的学习持续进行中。前面两篇博客我们介绍了如何使用Spring Boot容器搭建Web项目以及怎样为我们的Project
- 1.简述描述:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。1.此题对比原题有改动2.题目保
- Java类之间的关系图在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们