标签:java srcFile getAbsolutePath destFile File new 拷贝 目录 out
注意拷贝路径和复制路径的
用endwith()来判断目标路径的结尾
用substring()来剪切复制源路径
用三目运算符简化代码
package comstudy; import java.io.*; public class copydirall { public static void main(String [] agrs){ //copy源 File srcFile =new File("D:\\testcopy"); //copy目标 File destFile = new File("C:\\a\\b\\c\\"); //调用方法拷贝 copyDir(srcFile,destFile); } private static void copyDir(File srcFile,File destFile){ if(srcFile.isFile()){ FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream(srcFile); String path = (destFile.getAbsolutePath().endsWith("\\") ? destFile.getAbsolutePath():destFile.getAbsolutePath()+ "\\") +srcFile.getAbsolutePath().substring(3); out = new FileOutputStream(path); byte[] bytes = new byte[1024 * 1024]; int readCount = 0; while ((readCount = in.read(bytes)) != -1){ out.write(bytes,0,readCount); } out.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(out != null){ try { out.close(); }catch (IOException e){ e.printStackTrace(); } } if(in != null){ try { in.close(); }catch (IOException e){ e.printStackTrace(); } } } return; } //获取源下面的子目录 File[] files = srcFile.listFiles(); for(File file : files){ // System.out.println(file.getAbsolutePath()); if(file.isDirectory()){ String desDir = (destFile.getAbsolutePath().endsWith("\\") ? destFile.getAbsolutePath():destFile.getAbsolutePath()+ "\\") +file.getAbsolutePath().substring(3); File newFile = new File(desDir); if(!newFile.exists()){ newFile.mkdirs(); } } copyDir(file,destFile); } } }
)来判断目标路径是否以双反斜结尾
用
标签:java,srcFile,getAbsolutePath,destFile,File,new,拷贝,目录,out 来源: https://www.cnblogs.com/dnms/p/15770537.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。