import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 1.复制多级目录, 将某一个文件夹下的所有内容复制到另一个文件夹下
* 分析:1.获取该File对象下的所有文件或者文件夹File对象
* 遍历得到每一个File对象
* 2.判断该File是文件夹还是文件
* (1)是文件夹,目的地目录下创建该文件夹
* (2)是文件,复制(字节流)
*
* 复制文件夹:D:/myCollection--->D:/copy
*
*/
public class Work1 {
public static void main(String[] args) throws IOException {
//指定源数据
File srcFile = new File("D:/myCollection");
//指定目的地
File destFile = new File("D:/copy");
//调用方法
copyFolder(srcFile,destFile);
}
public static void copyFolder(File srcFile,File destFile )
throws FileNotFoundException, IOException {
//列出全部文件
File[] list = srcFile.listFiles();
for(File files:list){
//获取文件名字
String str = files.getName();
//判断是目录还是文件
if(files.isDirectory()){
//指定创建路径
File f = new File("D:/copy/"+str);
//生成文件夹
f.mkdir();
}else{
/*
* 读写文件
*/
FileInputStream is = new FileInputStream(str);
FileOutputStream os = new FileOutputStream("D:/copy/"+str);
//高效流
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
int len;
byte[] bytes = new byte[1024];
while((len=bis.read(bytes)) != -1){
bos.write(bytes);
}
//释放资源
bis.close();
bos.close();
}
}
}
}
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 1.复制多级目录, 将某一个文件夹下的所有内容复制到另一个文件夹下
* 分析:1.获取该File对象下的所有文件或者文件夹File对象
* 遍历得到每一个File对象
* 2.判断该File是文件夹还是文件
* (1)是文件夹,目的地目录下创建该文件夹
* (2)是文件,复制(字节流)
*
* 复制文件夹:D:/myCollection--->D:/copy
*
*/
public class Work1 {
public static void main(String[] args) throws IOException {
//指定源数据
File srcFile = new File("D:/myCollection");
//指定目的地
File destFile = new File("D:/copy");
//调用方法
copyFolder(srcFile,destFile);
}
public static void copyFolder(File srcFile,File destFile )
throws FileNotFoundException, IOException {
//列出全部文件
File[] list = srcFile.listFiles();
for(File files:list){
//获取文件名字
String str = files.getName();
//判断是目录还是文件
if(files.isDirectory()){
//指定创建路径
File f = new File("D:/copy/"+str);
//生成文件夹
f.mkdir();
}else{
/*
* 读写文件
*/
FileInputStream is = new FileInputStream(str);
FileOutputStream os = new FileOutputStream("D:/copy/"+str);
//高效流
BufferedInputStream bis = new BufferedInputStream(is);
BufferedOutputStream bos = new BufferedOutputStream(os);
int len;
byte[] bytes = new byte[1024];
while((len=bis.read(bytes)) != -1){
bos.write(bytes);
}
//释放资源
bis.close();
bos.close();
}
}
}
}