甘肃省城乡城乡建设厅网站,宁波网站门户设计,福州网站设计企业建站,jsp做网站注册页面import java.io.*;/*** IO流递归拷贝一个文件夹里面的所有文件#xff0c;到另一个文件夹。如果重复不拷贝#xff0c;可续拷* author silence*/
public class IoCopy {private static int count 0;/*** 需要拷贝的起始地“文件夹路径”*/private static final File START …
import java.io.*;/*** IO流递归拷贝一个文件夹里面的所有文件到另一个文件夹。如果重复不拷贝可续拷* author silence*/
public class IoCopy {private static int count 0;/*** 需要拷贝的起始地“文件夹路径”*/private static final File START new File(C:\\Users\\Administrator\\Desktop\\作业);/*** 目的地“文件夹路径”*/private static final File END new File(C:\\Users\\Administrator\\Desktop\\111);public static void main(String[] args) throws IOException {//判断文件路径ifFile();//拷贝文件load(START);System.out.println(-----程序结束,拷贝 count 条数据-----);}/*** 判断文件路径*/private static void ifFile() {//判断起始地和目的地是否为文件并且是否存在if (!START.exists() || !START.isDirectory()) {System.out.println(起始地路径 不存在或不为文件夹);System.exit(1);}//判断目的地是否存在且为文件夹if (!END.exists() || !END.isDirectory()) {boolean mkdirs END.mkdirs();//如果创建失败if (!mkdirs) {System.out.println(目的地路径不存在,或存在相同名的文件文件夹自动创建失败);System.out.println(解决办法检测路径是否正确删除该路径同名的文件);System.exit(1);}}}/*** param start 源文件路径*/private static void load(File start) {File[] files start.listFiles();if (files null) {return;}for (File f : files) {try {if (f.isFile()) {if (!isEedFile(f)) {//如果目的地没有改文件或者文件大小不一致BufferedInputStream input new BufferedInputStream(new FileInputStream(f));BufferedOutputStream out new BufferedOutputStream(new FileOutputStream(END \\ f.getName()));System.out.println(正在复制第 (count) 条数据: f.getName());byte[] arr new byte[1024];int len;while ((len input.read(arr)) ! -1) {out.write(arr, 0, len);}input.close();out.close();continue;}System.out.println(f.getName() 重复 已跳过);} else {//递归读取load(f);}} catch (IOException e) {System.out.println(文件拷贝过程出现异常程序退出);System.exit(1);}}}/*** 判断目的地是否包含改文件, 不支持多层递归判断** param f 当前文件*/private static boolean isEedFile(File f) {File[] files END.listFiles();if (files ! null) {for (File file : files) {//只判断文件if (file.isFile()) {if (f.getName().equals(file.getName())) {//文件名一致再判断文件大小是否一致是否覆盖复制return f.length() file.length();}}}}return false;}
}