IO复制文件到另一个地方
Posted 白snow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO复制文件到另一个地方相关的知识,希望对你有一定的参考价值。
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /** * @ClassName: Copy * @Description: 文件复制 * @author snow * @date 2021年11月25日 * */ public class Copy public static void main(String[] args) throws IOException File inFolder = new File("D:\\\\TestRead"); File outFolder = new File("D:\\\\"+ inFolder.getName()+"copy"); copyFolder(inFolder,outFolder); System.out.println("复制完成"); /** * @Title: copyFolder * @author snow * @date 2021年11月25日 * @Description: 复制文件夹 * @param @param inFolder * @param @param outFolder * @param @throws IOException 参数 * @return void 返回类型 * @throws */ private static void copyFolder(File inFolder, File outFolder) throws IOException //遍历文件 File[] files = inFolder.listFiles(); for (File file : files) //文件复制 if (file.isFile()) copyFile(file,outFolder); else if (file.isDirectory()) //递归复制这个子文件夹 File newFolder = new File(outFolder,file.getName()); if (!newFolder.exists()) newFolder.mkdirs(); //递归子文件夹 copyFolder(file,newFolder); /** * @Title: copyFile * @author snow * @date 2021年11月25日 * @Description: 复制文件 * @param @param file * @param @param outFolder 参数 * @return void 返回类型 * @throws */ public static void copyFile(File file, File outFolder) BufferedInputStream bis = null; BufferedOutputStream bos = null; File nf = new File(outFolder, file.getName()); try bis = new BufferedInputStream(new FileInputStream(file)); bos = new BufferedOutputStream(new FileOutputStream(nf)); //一次读取字节 byte[] bytes = new byte[1024]; //储存读的字节数 int num = 0; while ((num=bis.read(bytes))!= -1) bos.write(bytes,0,num); catch (IOException e) e.printStackTrace(); finally try if(bis != null) bos.close(); if(bos != null) bos.close(); catch (IOException e) e.printStackTrace();
以上是关于IO复制文件到另一个地方的主要内容,如果未能解决你的问题,请参考以下文章
使用Objective-c中的进度条将文件从一个地方复制到另一个地方[重复]