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); } } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。