Java实现复制文件并命名的超简洁写法

目录
  • 复制文件并命名的超简洁写法
    • 好了上代码
  • 文件重命名拷贝一份新的文件
    • 传参数说明

复制文件并命名的超简洁写法

没错又是我,这次为大家带来Java中 复制文件并命名的超简洁写法(请确保你的jre在1.8+),这次用到了Files(始于1.7)和lambda 表达式(始于1.8),都是比较新的东西,同时还有一些振奋人心的特性(和爱)。

好了上代码

DirectoryStream<Path> directoryStream;
File in = new File("C:\\Users\\simon\\Desktop\\a"); // 资源文件夹
File out = new File("C:\\Users\\simon\\Desktop\\b"); // 目标文件夹
try {
       directoryStream = Files.newDirectoryStream(in.toPath()); //returning a DirectoryStream to iterate over* all entries in the directory.
       directoryStream.forEach(path -> {
           if (path.getFileName().toString().endsWith(".java")) { // 判断是否为java文件
               try {
                   Files.copy(path, out.toPath().resolve(path.getFileName().toString().replace(".java", ".txt")), StandardCopyOption.REPLACE_EXISTING); // 重命名为.txt 并且复制到out文件夹
               } catch (IOException e) { // 因为在lambda表达式内,所以要包裹try catch
                   e.printStackTrace();
               }
           }
       });
   } catch (IOException e) {
       e.printStackTrace();
   }

文件重命名拷贝一份新的文件

java文件重命名,并且保留老的文件,实际上就是拷贝一份新的文件,相当于复制粘贴重命名。代码如下:

传参数说明

老的文件地址,oneType和twoType还有count是我自己业务的东西也是文件的重命名名字,files集合是为了方便我把这批文件导出且压缩,参见这篇文章

 //对图片进行重命名
    public String reNameImg(String oldPath, String oneType, String twoType, int count, List<File> files) {
        File source = new File(oldPath);
        String suffixName = source.getName().substring(source.getName().lastIndexOf("."));
        File filePath = new File(rootFileDir + File.separator + "exPort" + File.separator +generatorDataFileName());
        String reName = "";
        try {
            if (!filePath.exists()) {
                filePath.mkdirs();
            }
           File dest =new File(filePath+File.separator+oneType + "-" + twoType + "-" + count + suffixName);
            Files.copy(source.toPath(), dest.toPath(), StandardCopyOption.REPLACE_EXISTING);
            files.add(dest);
            reName = dest.getPath();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return reName;
    }
 //获取日期目录
    private String generatorDataFileName() {
        Calendar date = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
        return format.format(date.getTime());
    }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java实现文件重命名

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

  • 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文件的重命名与移动操作实例代码

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

  • Java实现复制文件并命名的超简洁写法

    目录 复制文件并命名的超简洁写法 好了上代码 文件重命名拷贝一份新的文件 传参数说明 复制文件并命名的超简洁写法 没错又是我,这次为大家带来Java中 复制文件并命名的超简洁写法(请确保你的jre在1.8+),这次用到了Files(始于1.7)和lambda 表达式(始于1.8),都是比较新的东西,同时还有一些振奋人心的特性(和爱). 好了上代码 DirectoryStream<Path> directoryStream; File in = new File("C:\\Users\

  • 批处理命令批量复制文件并重命名的实现

    工作中如果需要把一个文件复制成N个内容一样且名称不一样的文件,可以使用批处理命令实现 步骤如下: 1.如现有文件名称为:test001.ini 文件 2.创建一个文件名称列表 FileList.txt,2种方式可以创建 1)是可以使用excel创建,然后复制到 FileList.txt 2)通过批处理命令实现 REM @echo off @echo off set name=FileList.txt set exc=.ini for /l %%i in (01,1,99) do ( echo %

  • java多线程复制文件的实例代码

    复制代码 代码如下: package com.test; import java.io.FileNotFoundException;  import java.io.IOException;  import java.io.RandomAccessFile; public class FileCoper {      private static final String _ORIGIN_FILE_MODE = "r"; private static final String _TAR

  • Java List移除相应元素的超简洁写法分享

    目录 List移除相应元素的超简洁写法 好了上代码 Java List 删除元素 1.删除后元素后,i-1 2.反向删除 3.使用迭代器删除(iterator)(推荐) 4.赋值给新的list List移除相应元素的超简洁写法 最近遇到了一个需求(好吧以前也遇到过),就是将一个List中的部分元素去除,如把string中带数字的元素去除,以前是各种遍历各种不爽,今天发现用Java8中的lambda写,只需三行. 好了上代码 List<String> list = new ArrayList&l

  • 基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名规则(存储在Excel中),批量生成文件 代码如下 import shutil import xlrd # 打开存储文件命名规则的文件 data = xlrd.open_workbook('C:ccc\\新新编号.xls') # 打开工作表 table = data.sheet_by_name(u'Sheet

  • java制作复制文件工具代码分享

    复制代码 代码如下: package com.robin; import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Properties; public class FileCopy { // priv

  • Java使用字节流复制文件的方法

    其实用java程序复制文件并不难,具体内容如下 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.LinkedList; import java.util.List; //文件复制 //E:/3.jpg ---> D:/1.jpg public class CopyFileByIo { public static void ma

  • 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实现多文件压缩加密并重命名压缩文件对象的方法

    Java 多文件加密压缩 添加文件加密压缩工具包依赖 <!-- zip4j压缩工具 --> <dependency> <groupId>net.lingala.zip4j</groupId> <artifactId>zip4j</artifactId> <version>1.3.2</version> </dependency> 话不多说,直接上干货 完整代码如下: package com.rhtc

  • ASP FSO文件操作函数代码(复制文件、重命名文件、删除文件、替换字符串)

    FSO文件(File)对象属性 DateCreated 返回该文件夹的创建日期和时间 DateLastAccessed 返回最后一次访问该文件的日期和时间 DateLastModified 返回最后一次修改该文件的日期和时间 Drive 返回该文件所在的驱动器的Drive对象 Name 设定或返回文件的名字 ParentFolder 返回该文件的父文件夹的Folder对象 Path 返回文件的绝对路径,可使用长文件名 ShortName 返回DOS风格的8.3形式的文件名 ShortPath 返

随机推荐