Java 读取某文件下的所有文件名,并且修改文件名

这两天有个新需求,管理员想down下某文件下所有的文件,但是文件太多,下载速度太慢,所以就从服务器下把所有文件都扒下来了,可是通过程序上传的文件是以时间戳的形式命名的,所以要把时间戳改成相对应的上传人以及文件本身名字显示。但是文件夹下的文件太多,一个个改太麻烦了,所以就自己写了个程序来批量的更改文件名,这是个简单的demo,没有连接数据库,逻辑都是一样的。

public static void main(String[] args) {
		//文件存放路径
		File file=new File("C:\\Users\\Administrator\\Desktop\\file");  
		 String [] fileName = file.list();  //用于存放文件底下所有子文件名的数组
		 int beginIndex=0;//截取文件名的时候有用到
		 int endIndex=0;//截取文件名的时候有用到
		 String[] studentName=new String[fileName.length];//用于存储提取出来的姓名的数组
		 String[] FileType=new String[fileName.length];//用于存储提取出来的文件类型
		 //先提取原文件名中有效的信息
		 for (int i = 0; i < fileName.length; i++) {
			//根据原先的命名格式匹配出想要的信息(具体根据你们自己的情况咯!) 
			 endIndex=fileName[i].lastIndexOf(".");
			 studentName[i]=fileName[i].substring(beginIndex, endIndex);//这是问价夹下文件名字的的范围
			 System.out.println(studentName[i]);
			 FileType[i]=fileName[i].substring(endIndex, fileName[i].length());//这是文件类型的
			 System.out.println(FileType[i]);
		}
//		 //开始重命名
		for(int i=0;i<fileName.length;i++){
			 //需要改的名字文件
			 File toBeRenamed = new File("C:\\Users\\Administrator\\Desktop\\file\\"+fileName[i]);
		     //检查要重命名的文件是否存在
		     if (!toBeRenamed.exists()) {
		         System.out.println("File does not exist: "+i);
		         return;
		     }
		     //需要把文件修改成什么名字 以及存放路径
		     File newFile = new File("C:\\Users\\Administrator\\Desktop\\file1\\测试_"+studentName[i]+FileType[i]);
		    //修改文件名 这个方法会把原来的文件删除掉,但是改完名字的文件内容是不会变得
		     if (toBeRenamed.renameTo(newFile)) {
		          System.out.println("File renamed success!!.");
		     } else {
		          System.out.println("Error renmaing file");
		     }
		}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值