IO流 文件夹的拷贝(字节流)
Posted ssxblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流 文件夹的拷贝(字节流)相关的知识,希望对你有一定的参考价值。
文件夹拷贝
package cn.Reader; import java.io.File; import java.io.IOException; /* * 文件夹的拷贝 * 1.文件复制 Copyfile * 2.文件夹创建 mkdirs() * 3.递归查找子孙级 */ public class CopyDir public static void main(String [] args) String srcPath="C:/Users/Administrator/Desktop/sun/JAVA project"; //目标目录 String destPath="C:/Users/Administrator/Desktop/sun/haha"; CopyDir(srcPath,destPath); /* * 拷贝文件夹 * src 源路径 * dest 目标路径 */ public static void CopyDir(String srcPath,String destPath) File src=new File(srcPath); File dest=new File(destPath); CopyDir(src,dest); //拷贝文件夹细节 public static void CopyDir(File src,File dest) if(src.isFile()) //文件 try FileUtil.CopyFiles(src, dest); catch (IOException e) // TODO Auto-generated catch block e.printStackTrace(); else if(src.isDirectory()) //文件夹 //确保目标文件夹存在 dest.mkdirs(); //获取下一级的目录或者文件 for(File sub:src.listFiles()) //递归遍历子孙级 CopyDir(sub,new File(dest,sub.getName()));
文件夹及文件拷贝封装
package cn.Reader; /* * 文件操作 * 1.文件拷贝 * 2.文件夹拷贝 */ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class FileUtil /* * 拷贝文件夹 * src 源路径 * dest 目标路径 */ public static void CopyDir(String srcPath,String destPath) File src=new File(srcPath); File dest=new File(destPath); CopyDir(src,dest); //拷贝文件夹细节 public static void CopyDir(File src,File dest) if(src.isFile()) //文件 try FileUtil.CopyFiles(src, dest); catch (IOException e) // TODO Auto-generated catch block e.printStackTrace(); else if(src.isDirectory()) //文件夹 //确保目标文件夹存在 dest.mkdirs(); //获取下一级的目录或者文件 for(File sub:src.listFiles()) //递归遍历子孙级 CopyDir(sub,new File(dest,sub.getName())); public static void CopyFiles(String srcPath,String destPath ) throws IOException CopyFiles(new File(srcPath),new File(srcPath)); //对该方法进行重载 public static void CopyFiles(File src,File dest ) throws IOException if(!src.isFile()) //不是文件或者为null System.out.println("只能拷贝文件"); throw new IOException("只能拷贝文件"); //2.选择流 InputStream is =new FileInputStream(src); OutputStream os=new FileOutputStream(dest); //3.文件拷贝 循环 读取+写出 byte[] flush=new byte[1024]; int len=0; //读取 while(-1!=(len=is.read(flush))) //写出 os.write(flush, 0, len); os.flush(); //强制刷出 //关闭两个流 os.close(); //后打开的先关闭 is.close(); public static void main(String[] args) File src=new File("C:/Users/Administrator/Pictures/Saved Pictures/a.jpg"); File dest =new File("C:/Users/Administrator/Pictures/Saved Pictures/180.jpg"); try CopyFiles(src,dest); catch (IOException e) // TODO Auto-generated catch block e.printStackTrace();
以上是关于IO流 文件夹的拷贝(字节流)的主要内容,如果未能解决你的问题,请参考以下文章