通过输入输出流解决此问题,具体的可以查看JDK的API,实在不会的话,百度一下应该都有一堆这方面的代码.
Java代码复制文件夹时,则需要利用Flie类在目标文件夹中创建相应的目录,并且使用递归方法,代码如下:
import?java.io.*;?
/**?
*?复制文件夹或文件夹?
*/?
public?class?CopyDirectory?{?
//?源文件夹?
static?String?url1?=?"F:/photos";?
//?目标文件夹?
public?static?void?main(String?args[])?throws?IOException?{?
//?创建目标文件夹?
//?获取源文件夹当前下的文件或目录?
File[]?file?=?(new?File(url1)).listFiles();?
for?(int?i?=?0;?i?file.length;?i++)?{?
if?(file[i].isFile())?{?
//?复制文件?
}?
if?(file[i].isDirectory())?{?
//?复制目录?
String?sourceDir=url1+File.separator+file[i].getName();?
copyDirectiory(sourceDir,?targetDir);?
public?static?void?copyFile(File?sourceFile,File?targetFile)?
throws?IOException{?
//?新建文件输入流并对它进行缓冲?
FileInputStream?input?=?new?FileInputStream(sourceFile);?
BufferedInputStream?inBuff=new?BufferedInputStream(input);?
//?新建文件输出流并对它进行缓冲?
FileOutputStream?output?=?new?FileOutputStream(targetFile);?
BufferedOutputStream?outBuff=new?BufferedOutputStream(output);?
//?缓冲数组?
int?len;?
while?((len?=inBuff.read(b))?!=?-1)?{?
outBuff.write(b,?0,?len);?
//?刷新此缓冲的输出流?
outBuff.flush();?
//关闭流?
inBuff.close();?
outBuff.close();?
output.close();?
input.close();?
//?复制文件夹?
public?static?void?copyDirectiory(String?sourceDir,?String?targetDir)?
throws?IOException?{?
//?新建目标目录?
(new?File(targetDir)).mkdirs();?
File[]?file?=?(new?File(sourceDir)).listFiles();?
//?源文件?
File?sourceFile=file[i];?
//?目标文件?
File?targetFile=new?File(new?File(targetDir).getAbsolutePath()+File.separator+file[i].getName());?
copyFile(sourceFile,targetFile);?
//?准备复制的源文件夹?
String?dir1=sourceDir?+?"/"?+?file[i].getName();?
//?准备复制的目标文件夹?
}
以上就是土嘎嘎小编为大家整理的拷贝文件的java代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!