package com.czie.iot1913.lps.IO.BufferStream.Better; import java.io.*; /** * FileName: CopyFileTest01 复制单级文件夹 * Author: lps * Date: 2022/3/26 20:08 * Sign:刘品水 Q:1944900433 */ public class CopyFileTest01 { public static void main(String[] args) throws IOException{ // new File File srcFolder = new File("E:\\itcast"); String srcFoldername = srcFolder.getName(); File destFolder = new File("F:\\JavaCode", srcFoldername); //boolean exists() //检查文件或目录是否存在这种抽象路径名记。 //!!!!!!!!!!!!!!!!!! if (!destFolder.isDirectory()) { destFolder.mkdir(); } //boolean mkdir() //创建该目录下的抽象路径名命名。 //File[] listFiles() //返回表示抽象路径名的目录中的文件的路径名表示抽象的数组。 获取数据源目录下所有文件的File数组 File[] listFiles = srcFolder.listFiles(); //该遍历file数组 得到file对象 (数据源文件) for (File srcFile : listFiles) { //获取数据源文件File文件名称 String srcFileName = srcFile.getName(); //创建目的地文件file对象,路径名是目的地+hh.jpg组成F:\\JavaCode\\itcast\\hh.jpg //File(String parent, String child) //创建从父路径名的字符串和一个孩子的一个新的 File实例文件。 File deseFile = new File(destFolder, srcFileName); copyFile(srcFile,deseFile); } } private static void copyFile(File srcFile, File deseFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(deseFile)); byte[] bys = new byte[1024]; int len; while ((len= bis.read(bys))!=-1){ bos.write(bys,0,len); } bis.close(); bos.close(); } }