Java复制一个目录下所有的文件夹到另一个目录下
发布时间:2020-12-14 23:53:15 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.*; import java.util.*; private static File[] copyfoldersList = new File("C:WindowsSystem32").listFiles(); for (int k = 0;
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import java.io.*; import java.util.*; private static File[] copyfoldersList = new File("C:WindowsSystem32").listFiles(); for (int k = 0; k < copyfoldersList.length; k++) { if (copyfoldersList[k].isDirectory()) { LinkedList<String> copysourcepath = new LinkedList<String>( Arrays.asList(copyfoldersList[k].getAbsolutePath())); LinkedList<String> copytargetpath = new LinkedList<String>( Arrays.asList("D:"+ File.separator+ copyfoldersList[k].getAbsolutePath().substring(copyfoldersList[k].getAbsolutePath().lastIndexOf(File.separator)))); while (copysourcepath.size() > 0) { (new File(copytargetpath.peek())).mkdirs(); File folders = new File(copysourcepath.peek()); String[] file = folders.list(); File temp = null; for (int i = 0; i < file.length; i++) { if (copysourcepath.peek().endsWith(File.separator)) temp = new File(copysourcepath.peek(),file[i]); else temp = new File(copysourcepath.peek(),file[i]); FileInputStream input = null; FileOutputStream output = null; if (temp.isFile()) { try { input = new FileInputStream(temp); output = new FileOutputStream(new File(copytargetpath.peek(),temp.getName().toString())); long filelength=input.length(); long buffsize=filelength<10485760L?filelength:10485760L; byte[] b = new byte[buffsize]; int len; while ((len = input.read(b)) != -1) output.write(b,len); output.flush(); } catch (IOException e) { System.err.println("复制单个文件操作出错"); } finally { try { output.close(); input.close(); } catch (IOException e) { } } } else if (temp.isDirectory()) { for (File f : temp.listFiles()) { if (f.isDirectory()) { copysourcepath.add(f.getPath()); copytargetpath.add(copytargetpath.peek() + File.separator + f.getName()); } else if (f.isFile()) { new File(copytargetpath.peek()+ File.separator+ temp.getName()).mkdirs(); FileInputStream input2 = null; FileOutputStream output2 = null; try { input2 = new FileInputStream(f); output2 = new FileOutputStream(copytargetpath.peek()+ File.separator+ temp.getName()+ File.separator+ f.getName()); long filelength=input2.length(); long buffsize=filelength<10485760L?filelength:10485760L; byte[] b = new byte[buffsize]; int len; while ((len = input2.read(b)) != -1) output2.write(b,len); output2.flush(); } catch (IOException e) { System.err.println("复制单个文件操作出错"); } finally { try { output2.close(); input2.close(); } catch (IOException e) { } } } } } } copysourcepath.removeFirst(); copytargetpath.removeFirst(); } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |