将一个目录下的所有文件复制到另一个目录下

import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.io.File; import java.io.*; /** * * <p>Title: 将一个目录下的所有文件复制到另一个目录下</p> * * <p>Description: 将一个目录下的所有文件复制到另一个目录下 </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class TestFile { public TestFile() { } public static void main(String[] args) { //在当前目录下创建一个FileTest目录 File file = new File(".//FileTest"); file.mkdir(); //调用方法复制文件 getFileList(".//classes", ".//FileTest"); } /** * 执行复制操作 * @param nameFile String 源目录 * @param nameDirectory String 目标目录 */ private static void getFileList(String nameFile, String nameDirectory) { File file1 = null; File file5 = null; FileInputStream fileInput = null; DataInputStream dateInput = null; File file4 = null; FileOutputStream fileOutput = null; DataOutputStream dateOutput = null; try { //创建源文件对象 file1 = new File(nameFile); //获得文件列表 File[] file2 = file1.listFiles(); for (int i = 0; i < file2.length; i++) { //判断是否为目录 if (file2[i].isDirectory()) { //创建目录 File file3 = new File(nameDirectory + "//" + file2[i].getName()); file3.mkdir(); //继续执行文件复制 getFileList(nameFile + "//" + file2[i].getName(), nameDirectory + "//" + file2[i].getName()); } else { //创建源目录下的文件对象 file5 = new File(file2[i].toString()); fileInput = new FileInputStream(file5); dateInput = new DataInputStream(fileInput); //创建目标目录下的文件对象 file4 = new File(nameDirectory + "//" + file2[i].getName()); fileOutput = new FileOutputStream(file4); dateOutput = new DataOutputStream( fileOutput); int temp = 0; while ((temp = dateInput.read()) != -1) { //将源目录下的文件内容复制到目标目录下的文件中 dateOutput.write(temp); } System.out.println("[" + nameDirectory + "//" + file2[i].getName() + "]"); } } } catch (IOException ex) { System.out.println(ex.toString()); } finally { try { dateInput.close(); dateOutput.close(); } catch (IOException ex1) { System.out.println(ex1.toString()); } } } }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值