java将一个目录下的所有文件复制n次

作者:Amarao 时间:2023-03-04 00:13:12 

本文实例为大家分享了java将一个目录下的所有文件复制n次的具体代码,供大家参考,具体内容如下

1. 文件复制示意图

 java将一个目录下的所有文件复制n次

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

标签:java,文件复制
0
投稿

猜你喜欢

  • Android实现带动画效果的可点击展开TextView

    2023-08-06 05:42:08
  • JVM内存管理之JAVA语言的内存管理详解

    2021-11-01 12:00:10
  • java单例模式学习示例

    2022-03-29 19:03:41
  • java多线程实现交通灯管理系统

    2022-01-11 07:36:54
  • c#生成随机数示例分享

    2023-10-04 06:54:50
  • Android自定义流式布局的实现示例

    2022-10-14 23:30:44
  • 详解Android中Service AIDL的使用

    2022-10-02 05:08:16
  • flutter封装点击菜单工具栏组件checkBox多选版

    2022-08-16 08:18:59
  • Android自定义Seekbar滑动条 Pop提示跟随滑动按钮滑动

    2021-11-02 20:32:06
  • c#多线程中Lock()关键字的用法小结

    2022-07-08 04:33:27
  • C#实现数独解法

    2022-10-25 18:22:43
  • Android仿微信选择图片和拍照功能

    2023-08-18 05:22:50
  • Android账号注册实现点击获取验证码倒计时效果

    2023-05-18 05:46:33
  • 浅谈Java三大框架与应用

    2023-04-16 18:25:01
  • 基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法

    2022-05-17 19:27:39
  • Java中BigDecimal类与int、Integer使用总结

    2023-08-09 15:36:44
  • 深入理解C#中foreach遍历的使用方法

    2023-11-02 08:51:04
  • Mybatis plus 配置多数据源的实现示例

    2023-10-04 15:57:33
  • 解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    2022-06-19 12:17:06
  • C#实现递归调用的Lambda表达式

    2022-10-03 05:13:29
  • asp之家 软件编程 m.aspxhome.com