文件结构的复制
不复制内容package file;import java.io.*;public class CopyFile{public static void main(String[] args){File sourceFile = new File("D:/作业");File targetFile = new File("F:/");copy(sourceFile, targetFile);}public static void copy(File sourceFile, File targetFile){File tarpath = new File(targetFile, sourceFile.getName());if (sourceFile.isDirectory())//如果源文件是一个目录{tarpath.mkdir();//创建此目录到目标路径System.out.println(tarpath.getName()+"赋值完成");File[] dir = sourceFile.listFiles();//获取源文件下属的子文件for(File f:dir){copy(f,tarpath);}} }} 复制内容package file;import java.io.*;public class CopyFile{public static void main(String[] args) throws IOException{File sourceFile = new File("D:/作业");File targetFile = new File("F:/");copy(sourceFile, targetFile);}public static void copy(File sourceFile, File targetFile) throws IOException{if(sourceFile.exists()&&targetFile.exists()){File tarpath = new File(targetFile, sourceFile.getName());//创建新文件if (sourceFile.isDirectory())//如果源文件是一个目录{tarpath.mkdir();//创建新目录System.out.println("目录:"+tarpath.getName()+"复制完成");File[] dir = sourceFile.listFiles();//获取源文件下属的子文件for(File f:dir){copy(f,tarpath);}} else{//tarpath.createNewFile();//创建新文件FileInputStream is=new FileInputStream(sourceFile);FileOutputStream os=new FileOutputStream(tarpath);BufferedInputStream bis=new BufferedInputStream(is);BufferedOutputStream bos=new BufferedOutputStream(os);int length=0;byte []bytes=new byte;while((length=bis.read(bytes))!=-1){bos.write(bytes, 0, length);}if(bis!=null){bis.close();}if(bos!=null){bos.close();}System.out.println("文件:"+tarpath.getName()+"复制完成");}}else{System.out.println("源文件不存在");}}}
页:
[1]