把一个文件复制到另一个文件下
2013-11-27 18:38
120 查看
import java.io.*;
public class CopyDir
{
public static void main(String[] args){
//封装要复制的目录
File file = new File("D:\\dest");
//调用方法完成复制
copyFile(file);
}
//复制方法
public static void copyFile(File file){
//递归需要结束条件,结束条件就是,如果这个文件不是目录了,是一个普通的文件递归结束。
if(file.isFile()){
//如果是一个文件我们才考虑复制
//复制粘贴之后的路径还没有,我们需要创建目录
String srcFileParentPath = file.getParent();
//复制到C盘根目录下
String destFileParentPath = "C" + srcFileParentPath.substring(1);
//如果目录不存在创建
File destParentFile = new File(destFileParentPath);
if(!destParentFile.exists()){
destParentFile.mkdirs();
}
//复制文件一边读,一边写
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream(file);
fos = new FileOutputStream("C" + file.getAbsolutePath().substring(1));//从第地址1开始截取
byte[] bs = new byte[100*1024]; //100KB
int readCount = 0;
while((readCount=fis.read(bs))!=-1){
fos.write(bs,0,readCount);
}
fos.flush();
}catch(Exception e){
e.printStackTrace();
}finally{
if(fos!=null){
try{
fos.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(fis!=null){
try{
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
return;
}
//先把file看做目录。
File[] fs = file.listFiles();
//遍历子文件
for(File subFile:fs){
//subFile可能是一个文件也可能是一个目录。
System.out.println(subFile.getAbsolutePath());
copyFile(subFile);
}
}
}
public class CopyDir
{
public static void main(String[] args){
//封装要复制的目录
File file = new File("D:\\dest");
//调用方法完成复制
copyFile(file);
}
//复制方法
public static void copyFile(File file){
//递归需要结束条件,结束条件就是,如果这个文件不是目录了,是一个普通的文件递归结束。
if(file.isFile()){
//如果是一个文件我们才考虑复制
//复制粘贴之后的路径还没有,我们需要创建目录
String srcFileParentPath = file.getParent();
//复制到C盘根目录下
String destFileParentPath = "C" + srcFileParentPath.substring(1);
//如果目录不存在创建
File destParentFile = new File(destFileParentPath);
if(!destParentFile.exists()){
destParentFile.mkdirs();
}
//复制文件一边读,一边写
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream(file);
fos = new FileOutputStream("C" + file.getAbsolutePath().substring(1));//从第地址1开始截取
byte[] bs = new byte[100*1024]; //100KB
int readCount = 0;
while((readCount=fis.read(bs))!=-1){
fos.write(bs,0,readCount);
}
fos.flush();
}catch(Exception e){
e.printStackTrace();
}finally{
if(fos!=null){
try{
fos.close();
}catch(Exception e){
e.printStackTrace();
}
}
if(fis!=null){
try{
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
return;
}
//先把file看做目录。
File[] fs = file.listFiles();
//遍历子文件
for(File subFile:fs){
//subFile可能是一个文件也可能是一个目录。
System.out.println(subFile.getAbsolutePath());
copyFile(subFile);
}
}
}
相关文章推荐
- 【vim】复制一个文件中的数据到另一个文件中(使用缓冲区)
- 打开一个文件并把他的内容复制给另一个文件
- php关于一个文件夹所有的文件复制到另一个文件夹里面去,相同的文件名覆盖
- c语言初步经典题16---将一个文件的内容复制到另一个文件里面
- C# 递归 把一个文件夹下所有文件复制到另一个文件夹下
- Ubuntu下将一个文件从一个目录复制到另一个目录中
- C#.NET常见问题(FAQ)-程序如何把窗体文件从从一个项目中复制到另一个项目
- java IO编程——复制一个文件中的内容到另一个文件
- Linux下c语言实现将一个目录下的所有文件和目录复制到另一个目录下
- 如何将Myeclipse的一个工作空间的配置文件复制到另一个工作空间
- 复制一个文件夹中所有文件到另一个文件夹
- 在linux环境下,复制一个文件到另一个文件的末尾
- (六)两种方式将一个文件的内容复制到另一个文件(第二种方式效率更高,第一种一个字符一个字符的读写,第二种一个数组一个数组的读写)
- 黑马程序员高级视频学习笔记 将一个系统盘中的文件复制到另一个系统盘中
- C#.NET常见问题(FAQ)-程序如何把窗体文件从从一个项目中复制到另一个项目
- ubuntu下将一个文件复制到另一个文件夹复制出错,原因是用户对文件夹的权限不够
- java ---讲一个文件复制到另一个文件
- 将一个目录下的所有文件复制到另一个目录下
- 复制一个目录下文件到另一个目录下
- 用有名管道实现文件复制,有两个终端 ,一个进行复制操作,另一个进行粘贴操作