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)

相关推荐

  • 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

  • Java实现文件批量重命名具体实例

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应的文件进行重命名.此外,还可以在重命名模板中添加特殊符号,程序会将这些特殊符号替换成重命名后的文件编号. 思路分析: 1.先看视图层,需要一些JLabel控件分别显示指示用户的信息,三个JTextField控件分别显示所选路径.输入文件名模板即输入扩展名,两个JButton控件分别用来浏览文件夹和开

  • Java 实现文件批量重命名亲测可用(精简版)

    之前在网上下载了很多视频,解压缩后,发现里面每个文件前面都有一长串的网址,导致我根本看不清每个视频的名字到底叫什么? 网上搜了一些批量重命名的方法,可都不是我想要的,既然这样,干脆自己动手用Java写一个吧.测了一下应该没问题,现在分享出来. 先上代码: import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** * 重命名规则类 * @author ja

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

    文件的重命名与移动操作 有时候为了对文件进行统一访问与管理,需要把文件进行重命名,并移动到新的文件夹,如何实现呢? 一枚简单的java小程序即可实现: part_1:需求:我需要把<(E:\BaiduYun\传智播客_张孝祥_Java多线程与并发库高级应用视频教程下载)>文件夹下的所有子文件夹下的视频文件重命名,并移动到新的位置<(E:\BaiduYun\张孝祥_Java多线程与并发库)>; part_2:目录结构如下: E:\BaiduYun E:\BaiduYun\传智播客_张

  • Java文件批量重命名批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一个一个找出来太麻烦,所以做了第二个功能. 最近刚刚学了Java文件和流的知识,所以正好练练手,这也是自己的第一个exe程序,分享一下哈. (导出jar文件,以及用工具exe4j生成exe文件,这部分省略了哈) 用到的知识: 用到Java中文件,流的知识,以及简单的GUI知识. 功能: 功能一:去除文

  • java实现文件重命名的方法

    本文实例讲述了java实现文件重命名的方法.分享给大家供大家参考.具体如下: 下载的电影总是有一些存在网站名称等没用的信息 作为一个强迫症患者 一定要删除他们 package sys.file; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.*; public class ZReName { public static void main(Str

  • java实现文件重命名

    背景 我们经常在网上下载一些视频教程,然而这些视频命名规则各不相同,即使对于相同类型的文件名来说,当文件数量很大且文件名全部是中文时,文件排序是非规则的,因此本篇博客主要讲解一种改变文件夹名称使得文件按照规律进行排序. 思路 根据文件名对文件进行排序,然后重命名文件即可. 代码 规则:如 将文件名中带有 "第八讲 "替换成"8": 构建排序规则 /*** * @param filePath 文件夹位置 * @param startWorld 开始替换的字 * @pa

  • 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 s

  • C#实现的文件批量重命名功能示例

    本文实例讲述了C#实现的文件批量重命名功能.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; //C#批量重命名文件代码的实现 //添加文件操作空间引用 using System.IO;

  • aspupload文件重命名及上传进度条的解决方法附代码第1/2页

    发现还没有aspupload这个组件的,这两样功能的解决方案,现把我的改进方案写在这里!谢谢  关于aspupload上传组件,文件重命名,进度条的问题解决方案!  共用到4个文件,分别是1.asp,2.asp,bar.asp,framebar.asp  运行第一个文件:1.asp,执行上传操作!  复制代码 代码如下: <% '''进度条 dim SPid,PID,barref Set UploadProgress = Server.CreateObject("Persits.Uploa

  • Python和perl实现批量对目录下电子书文件重命名的代码分享

    经常会遇到下载的文件或电子书,名字中间都包含了一些网址信息,实际使用中由于名字太长不方便,下面的脚本使用正则表达式来对目录下的所有文件重命名: 例如: 修改前:[我们]Mac OS X for Unix Geeks[www.jb51.net].mobi 修改后:Mac OS X for Unix Geeks.mobi python代码如下: 复制代码 代码如下: import os import re def rename_dir(dir,regex,f):   if not os.path.i

  • php 随机数的产生、页面跳转、件读写、文件重命名、switch语句

    复制代码 代码如下: <?php num = rand(1,5); witch($num){ case 1: $fp1=fopen("f1.dat",'r'); $oname = fgets($fp1); $nname = date("YmdHis"); rename($oname,$nname); fclose($fp1); unlink("f1.dat"); $fp1=fopen("f1.dat",'w'); fwr

  • Zend Framework上传文件重命名的实现方法

    本文实例讲述了Zend Framework上传文件重命名的实现方法.分享给大家供大家参考,具体如下: 1. Zend Framework文件上传重命名 //实例化文件上专类 $fName=$this->_request->getPost('fName'); $adapter = new Zend_File_Transfer_Adapter_Http(); //存放上传文件的文件夹 $adapter->setDestination('/opt/lampp/htdocs/blog/uploa

  • fckeditor asp版本的文件重命名

    定位到:editor\filemanager\connectors\asp\io.asp 主要是修改:SanitizeFileName这个函数,并添加取得扩展名和文件重命名的方法,详细代码如下: 复制代码 代码如下: ' Do a cleanup of the file name to avoid possible problems function SanitizeFileName( sNewFileName ) Dim oRegex Dim oExt Set oRegex = New Reg

随机推荐