java 复制文件夹

来源:互联网 发布:ubuntu修改命令提示符 编辑:程序博客网 时间:2024/06/11 15:13
package Copy;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/* * 复制一个文件夹到另一个文件下 */public class Copy {public static void main(String[] args) throws IOException {File src = new File("E:\\考试代码");File dest = new File("D:\\");copyFolder(src, dest);System.out.println("OK");}static void copyFolder(File src, File dest) {if (src.isDirectory()) {//如果目标目录不存在则创建if (!dest.exists()) {dest.mkdirs();}//获取此目录下的文件及目录的名字String files[] = src.list();for (String file : files) {System.out.println(file);// 根据(src,dest)父抽象路径名和子路径名字符串(file)创建一个新的实例File srcFile = new File(src, file);File destFile = new File(dest, file);// 递归复制文件copyFolder(srcFile, destFile);}} else {// 如果是文件则直接复制FileInputStream fis = null;FileOutputStream fos = null;try {//创建输入流,读取文件fis = new FileInputStream(src);//创建输出流,写入文件fos = new FileOutputStream(dest);byte[] bs = new byte[1024];int count;while ((count = fis.read(bs)) != -1) {fos.write(bs, 0, count);fos.flush();}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {// 关流释放资源if (fos != null) {try {fos.close();} catch (IOException e) {e.printStackTrace();}}if (fis != null) {try {fis.close();} catch (IOException e) {e.printStackTrace();}}}}}}

0 0
原创粉丝点击