file copy.cpp

来自「一些网络协议的c语言的实现的例子」· C++ 代码 · 共 62 行

CPP
62
字号
如何实现文件夹对文件夹的拷贝呢?如果文件夹里还有文件夹怎么办呢? 

/* 
* CopyRight by http://www.designac.org 
*/ 
package copyfile; 
import java.io.*; 
/** 
* @author Administrator 
* 
* Class Function: 
*/ 
public class copyDirectory { 
public static void main(String args[]) throws IOException { 
String url1="C:/Downloads/kele"; 
String url2="d:/java/copyfile/copy"; 
(new File(url2)).mkdirs(); 
File[] file=(new File(url1)).listFiles(); 
for(int i=0;i<file.length;i++){ 
if(file[i].isFile()){ 
FileInputStream input=new FileInputStream(file[i]); 
FileOutputStream output=new FileOutputStream(url2+"/"+file[i].getName()); 
byte[] b=new byte[1024*5]; 
int len; 
while((len=input.read(b))!=-1){ 
output.write(b,0,len); 
} 
output.flush(); 
output.close(); 
input.close(); 
} 
if(file[i].isDirectory()){ 
copyDirectiory(url2+"/"+file[i].getName(),url1+"/"+file[i].getName()); 
} 
} 
} 
public static void copyDirectiory(String file1,String file2) throws IOException{ 
(new File(file1)).mkdirs(); 
File[] file=(new File(file2)).listFiles(); 
for(int i=0;i<file.length;i++){ 
if(file[i].isFile()){ 
FileInputStream input=new FileInputStream(file[i]); 
FileOutputStream output=new FileOutputStream(file1+"/"+file[i].getName()); 
byte[] b=new byte[1024*5]; 
int len; 
while((len=input.read(b))!=-1){ 
output.write(b,0,len); 
} 
output.flush(); 
output.close(); 
input.close(); 
} 
if(file[i].isDirectory()){ 
copyDirectiory(file1+"/"+file[i].getName(),file2+"/"+file[i].getName()); 
} 

} 

} 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?