package IODemo;/*** @author Alina* @date 2021年11月14日 4:32 下午* 复制文件到指定目录**/
import java.io.*;
public class IOcopyfile {public static void main(String[] args) {CopyDir(new File(“源文件”),new File(“目标文件”));}public static void CopyDir(File source,File target){//获取数据源下所有目录名字String SourceDirName = source.getName();//System.out.print(SourceDirName);//在新目录下创建同样的文档,只有File 类有创建文件的功能File TargetNewDir = new File(target,SourceDirName);// System.out.print(TargetNewDir);//创建新目录TargetNewDir.mkdir();//2.遍历数据源下所有文件File[] files = source.listFiles();//使用for循环遍历目录下所有文件for(File sourceFile: files){// System.out.print(sourceFile);// 定义字符串,存储文件的名字String sourceFileName = sourceFile.getName();//在新目录下创建相同的文件名File newTargetFileName = new File(TargetNewDir,sourceFileName);//复制文件copyFunction(sourceFile,newTargetFileName);}}public static void copyFunction(File source,File target){FileInputStream fis = null;FileOutputStream fos = null;try{fis = new FileInputStream(source);fos = new FileOutputStream(target);byte[] bytes = new byte[1024];int s = 0;while ((s = fis.read(bytes))!=-1){fos.write(bytes,0,s);}}catch (Exception e){throw new RuntimeException("复制失败");}finally {try{if (fos != null){fos.close();}}catch (Exception e){throw new RuntimeException("运行失败");}finally {try {if (fis!=null) {fis.close();}}catch (Exception e){throw new RuntimeException("运行失败");}}}}
}