java將一個目錄下的所有文件復(fù)制n次
本文實例為大家分享了java將一個目錄下的所有文件復(fù)制n次的具體代碼,供大家參考,具體內(nèi)容如下
1. 文件復(fù)制示意圖

2.java程序
(1).調(diào)用
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下的文件復(fù)制3次到OUTPUTSTRING目錄下
LCopyFileUtils.copyFile(SOURCESTRING, OUTPUTSTRING, 3);
}
(2).java工具類
/**
*
* 參考:
* Java將一個目錄下的所有數(shù)據(jù)復(fù)制到另一個目錄下:http://www.dbjr.com.cn/article/167726.htm
* Java復(fù)制文件的4種方式:http://www.dbjr.com.cn/article/70412.htm
* */
public class LCopyFileUtils {
/**
* 復(fù)制srcPath路徑下的文件到destPath目錄下
*
* @param srcPath 源文件路徑
* @param destPath 輸出路徑
* @param count 每個文件的復(fù)制次數(shù)
* @return 是否復(fù)制成功
*/
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("."));
// 每個文件復(fù)制Count次
for (int j = 0; j < count; j++) {
file = new File(destPath + File.separator + filePrefix + "_" + i + "_" + j + fileSuffix);// 創(chuàng)建文件
copyFileUsingFileChannels(files[i], file);
}
}
}
return true;
}
/**
* 復(fù)制文件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("復(fù)制文件成功:" + srcFile.getName() + " -> " + destFile.getName());
} catch (Exception e) {
System.out.println("Error:復(fù)制文件失?。? + srcFile.getName() + " -> " + destFile.getName());
} finally {
if (inputChannel != null) {
inputChannel.close();
}
if (outputChannel != null) {
outputChannel.close();
}
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java簡單實現(xiàn)復(fù)制 粘貼 剪切功能代碼分享
- java實現(xiàn)文本復(fù)制功能
- Java 添加、修改、讀取、復(fù)制、刪除Excel批注的實現(xiàn)
- Java實現(xiàn)inputstream流的復(fù)制代碼實例
- 利用Java實現(xiàn)復(fù)制Excel工作表功能
- Java 圖片復(fù)制功能實現(xiàn)過程解析
- Java對象的復(fù)制三種方式(小結(jié))
- java遞歸實現(xiàn)復(fù)制一個文件夾下所有文件功能
- java將一個目錄下的所有數(shù)據(jù)復(fù)制到另一個目錄下
- Java加速讀取復(fù)制超大文件
- 詳解Java中IO字節(jié)流基本操作(復(fù)制文件)并測試性能
- Java 訪問剪切板(復(fù)制,粘貼)的示例
相關(guān)文章
Springboot升級至2.4.0中出現(xiàn)的跨域問題分析及修改方案
這篇文章主要介紹了Springboot升級至2.4.0中出現(xiàn)的跨域問題分析及修改方案,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
springboot以FTP方式上傳文件到遠程服務(wù)器
這篇文章主要介紹了springboot以FTP方式上傳文件到遠程服務(wù)器,需要的朋友可以參考下2019-12-12
mall整合SpringTask實現(xiàn)定時任務(wù)的方法示例
這篇文章主要介紹了mall整合SpringTask實現(xiàn)定時任務(wù)的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06
idea創(chuàng)建springboot項目(版本只能選擇17和21)的解決方法
idea2023創(chuàng)建spring boot項目時,java版本無法選擇11,本文主要介紹了idea創(chuàng)建springboot項目(版本只能選擇17和21),下面就來介紹一下解決方法,感興趣的可以了解一下2024-01-01
SpringBoot接口實現(xiàn)百萬并發(fā)的代碼示例
隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的應(yīng)用需要支持高并發(fā),在這種情況下,如何實現(xiàn)高并發(fā)成為了一個重要的問題,Spring Boot是一個非常流行的Java框架,它提供了很多方便的功能來支持高并發(fā),本文將介紹如何使用Spring Boot來實現(xiàn)百萬并發(fā)2023-10-10
Java JDK與cglib動態(tài)代理有什么區(qū)別
這篇文章主要介紹了Java JDK動態(tài)代理和cglib動態(tài)代理的區(qū)別文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03

