java重命名类_java实现文件重命名功能

本文实例为大家分享了java实现文件重命名的具体代码,供大家参考,具体内容如下

使用java i/o流读取文件夹中的所有的文件,并实现按照指定的规则进行重命名

1.直接建一个util类,来进行创建两个重命名的方法:

package reName;

import java.io.File;

public class util {

/**

* 用于将文件名按照指定数字往后排

* @param startNum

* @param url

*/

public static void sort(int startNum,String url) {

File file = new File(url);

File[] list = file.listFiles();

String newName=null;

// 如果目录下文件存在

if (file.exists() && file.isDirectory())

{

for (int i = 0; i < list.length; i++)

{

//取文件名子存入name中

String name = list[i].getName();

int lo=name.indexOf(".");

String lastName=name.substring(lo,name.length());

String forNeName=String.valueOf(startNum);

startNum++;

//重命名

newName=forNeName+lastName;

File dest = new File(url + "/" + newName);

list[i].renameTo(dest);

System.out.println(dest.getName());

}

}

}

/**

* 用于将文件名编制为七位,不够的用0来补充

* @param url

*/

public static void reName(String url) {

File file = new File(url);

File[] list = file.listFiles();

String newName=null;

// 如果目录下文件存在

if (file.exists() && file.isDirectory())

{

for (int i = 0; i < list.length; i++)

{

//取文件名子存入name中

String name = list[i].getName();

int lo=name.indexOf(".");

String strName=name.substring(0,lo);

String lastName=name.substring(lo,name.length());

// System.out.println(lastName);

int nameLength=strName.length();

System.out.println("nameLength="+nameLength);

if(nameLength<7) {

String zeString="";

for(int j=0;j<7-nameLength;j++) {

zeString+="0";

System.out.print(zeString);

}

newName=zeString+strName+lastName;

}else {

newName=name;

}

//重命名

File dest = new File(url + "/" + newName);

list[i].renameTo(dest);

System.out.println(dest.getName());

}

}

}

}

2.在建立一个main函数进行测试,当然也可以进行单元测试:

package reName;

public class Main_ReName {

public static void main(String[] args) {

String url="C:\\Users\\17732\\Desktop\\2019.1.16\\切图\\01-16_11_01_1547610990";

int startNum=4066;//将文件名从4066开始命名

util.sort(startNum, url);//先将文件名换为4066,4067,4068.....

util.reName(url);//在将文件名指定为7位,如果不够7位就在文件名前面补充0

}

}

本人已经使用过,无任何异常,bug,可以放心使用,而且排序之后文件顺序不会改变

小编之前也收藏了一段文件夹重命名的java代码,希望能有所启发。

/** 文件重命名

* @param path

* 文件路径

* @param oldname

* 原有的文件名

* @param newname

* 新的文件名

*/

public static boolean renameFile(String path, String oldname, String newname) {

if (!oldname.equals(newname)) {// 新的文件名和以前文件名不同时,才有必要进行重命名

File oldfile = new File(path + "/" + oldname);

File newfile = new File(path + "/" + newname);

if (!oldfile.exists()) {

log.error("需要重命名的文件不存在");

return false;// 重命名文件不存在

}

if (newfile.exists()) {// 若在该目录下已经有一个文件和新文件名相同,则不允许重命名

log.error(newname + "已经存在!");

return false;

} else {

boolean isSuccess = oldfile.renameTo(newfile);

return isSuccess;

}

} else {

log.error("新文件名和旧文件名相同...");

}

return false;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值