java将一个目录下的所有文件复制n次
作者:Amarao 发布时间:2023-03-04 00:13:12
标签:java,文件复制
本文实例为大家分享了java将一个目录下的所有文件复制n次的具体代码,供大家参考,具体内容如下
1. 文件复制示意图
2.java程序
(1).调用
final static String SOURCESTRING = "/Users/amarao/360/download/test/";
final static String OUTPUTSTRING = "/Users/amarao/360/download/test4/";
public static void main(String[] args) throws IOException {
// 将SOURCESTRING下的文件复制3次到OUTPUTSTRING目录下
LCopyFileUtils.copyFile(SOURCESTRING, OUTPUTSTRING, 3);
}
(2).java工具类
/**
*
* 参考:
* Java将一个目录下的所有数据复制到另一个目录下:https://www.jb51.net/article/167726.htm
* Java复制文件的4种方式:https://www.jb51.net/article/70412.htm
* */
public class LCopyFileUtils {
/**
* 复制srcPath路径下的文件到destPath目录下
*
* @param srcPath 源文件路径
* @param destPath 输出路径
* @param count 每个文件的复制次数
* @return 是否复制成功
*/
public static boolean copyFile(String srcPath, String destPath, int count) throws IOException {
File fileSrc = new File(srcPath);
File[] files = fileSrc.listFiles();
if (files == null) {
System.out.println("Error:源文件夹下没有文件");
return false;
}
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
File file = null;
String fileName = files[i].getName();
String filePrefix = fileName.substring(0, fileName.lastIndexOf("."));
String fileSuffix = fileName.substring(fileName.lastIndexOf("."));
// 每个文件复制Count次
for (int j = 0; j < count; j++) {
file = new File(destPath + File.separator + filePrefix + "_" + i + "_" + j + fileSuffix);// 创建文件
copyFileUsingFileChannels(files[i], file);
}
}
}
return true;
}
/**
* 复制文件srcFile到destFile
*
* @param srcFile 源文件
* @param destFile 目的文件
*/
public static void copyFileUsingFileChannels(File srcFile, File destFile) throws IOException {
FileChannel inputChannel = null;
FileChannel outputChannel = null;
try {
inputChannel = new FileInputStream(srcFile).getChannel();
outputChannel = new FileOutputStream(destFile).getChannel();
outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
System.out.println("复制文件成功:" + srcFile.getName() + " -> " + destFile.getName());
} catch (Exception e) {
System.out.println("Error:复制文件失败:" + srcFile.getName() + " -> " + destFile.getName());
} finally {
if (inputChannel != null) {
inputChannel.close();
}
if (outputChannel != null) {
outputChannel.close();
}
}
}
}
来源:https://blog.csdn.net/jinmie0193/article/details/94558680


猜你喜欢
- 1、在Windows下用CMD netstat命令可以获得当前进程监听端口号的信息,如netstat -ano可以看到IP、port、状态和
- 本篇随笔将讲解一下Android当中比较常用的两个布局容器--ScrollView和HorizontalScrollView,从字面意义上来
- 起源 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all a
- 一.Android项目中引入aar包的方法我在使用高德地图的sdk的时候,选择用引入aar包的方式,然后按照网上的教程引入。但是一直报错,我
- 最长公共子序列(Longest Common Subsequence)定义:两个或多个已知数列的子序列集合中最长的就是最长公共子序列。其实说
- 本文实例讲解了java实现http的Post、Get、代理访问请求的详细代码片段,分享给大家供大家参考,具体内容如下package com.
- 效果视频目录结构SVG常用指令L :为从当前点绘制到直线给定的点,后面跟着的为x,y坐标M :为将画笔移动到某一点,但只是移动画笔,并没有绘
- 将Program类的删除,将里面的静态类Main修改后放入服务类中:partial class Server1 : ServiceBase&
- 1.构建springboot项目2.打包应用3.编写dockerfile4.构建镜像5.发布运行![root@localhost demo]
- 启动Springboot项目时候报错java: 无法访问org.springframework.boot.SpringApplication
- 一、RESTful 简介REST 是一种软件架构风格。REST:Representational State Transfer,表现层资源状
- 摘 要1. 生成多个防伪码,防伪码的长度和个数由用户指定。2. 防伪码由"0123456789ABCDEFGHJKLMNPQRST
- 本文实例讲述了java实现word文档转pdf并添加水印的方法。分享给大家供大家参考,具体如下:前段时间,项目需要自动生成word文档,用W
- 条件:1、android:ellipsize=”marquee”2、TextView必须单行显示,即内容必须超出TextView
- 前言首先,事务这个概念是数据库层面的,Spring只是基于数据库中的事务进行扩展,以及提供了一些能让程序员更新方便操作事务的方式Spring
- 首先不可否认,这些在面试上会经常被面试官问起,但是你回答的让面试官满意吗?当然如果你知道了这些原理,或许你就不怕了。既然说到了原理,我们还是
- using System;using System.Collections.Generic;using System.Linq;using
- 1. 简单说明嗨,大家好!今天给大家分享的是Mybatis-plus 插件的分页机制,说起分页机制,相信我们程序员都不陌生,今天,我就给大家
- 本文实例为大家分享了Unity实现透视滑动列表的具体代码,供大家参考,具体内容如下1、目的有时候,为了实现更好的美术效果,需要实现一些特殊的
- ThreadLocal是什么?该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过