浏览 1348 次
锁定老帖子 主题:文件结构的复制
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-06
不复制内容 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[4096]; 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("源文件不存在"); } } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |