Java实现文件或文件夹的复制到指定目录实例
整理文档,搜刮出一个Java实现文件或文件夹的复制到指定目录的代码,稍微整理精简一下做下分享。
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
publicclassTest{
privatestaticinta=5;
publicstaticvoidmain(String[]args){
//需要复制的目标文件或目标文件夹
Stringpathname="C:/Users/likun/Desktop/git_project";
Filefile=newFile(pathname);
//复制到的位置
Stringtopathname="C:/Users/likun/Desktop/movie";
FiletoFile=newFile(topathname);
try{
copy(file,toFile);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticvoidcopy(Filefile,FiletoFile)throwsException{
byte[]b=newbyte[1024];
inta;
FileInputStreamfis;
FileOutputStreamfos;
if(file.isDirectory()){
Stringfilepath=file.getAbsolutePath();
filepath=filepath.replaceAll("\\\\","/");
StringtoFilepath=toFile.getAbsolutePath();
toFilepath=toFilepath.replaceAll("\\\\","/");
intlastIndexOf=filepath.lastIndexOf("/");
toFilepath=toFilepath+filepath.substring(lastIndexOf,filepath.length());
Filecopy=newFile(toFilepath);
//复制文件夹
if(!copy.exists()){
copy.mkdir();
}
//遍历文件夹
for(Filef:file.listFiles()){
copy(f,copy);
}
}else{
if(toFile.isDirectory()){
Stringfilepath=file.getAbsolutePath();
filepath=filepath.replaceAll("\\\\","/");
StringtoFilepath=toFile.getAbsolutePath();
toFilepath=toFilepath.replaceAll("\\\\","/");
intlastIndexOf=filepath.lastIndexOf("/");
toFilepath=toFilepath+filepath.substring(lastIndexOf,filepath.length());
//写文件
FilenewFile=newFile(toFilepath);
fis=newFileInputStream(file);
fos=newFileOutputStream(newFile);
while((a=fis.read(b))!=-1){
fos.write(b,0,a);
}
}else{
//写文件
fis=newFileInputStream(file);
fos=newFileOutputStream(toFile);
while((a=fis.read(b))!=-1){
fos.write(b,0,a);
}
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。