• 文件夹复制


    public static void main(String[] args) {
    
    		File f1 = new File("D:/JavaTest");
    		
    		File f2 = new File("D:/JavaTest2");
    		
    		if (!f2.exists()) {
    			
    			f2.mkdir();
    		}
    		
    		copyFile(f1, f2);
    	}
    
    	// 把 f1 文件夹 复制到 f2 文件夹
    	public static void copyFile(File f1, File f2) {
    		
    		File[] files = f1.listFiles();
    		
    		if (files != null) {
    			
    			for (File file : files) {
    
    				// 新文件的保存路径
    				String path = f2.getAbsolutePath() + "/" + file.getName();
    				
    				if (file.isFile()) {
    					
    					// 如果是文件,就直接复制
    					try {
    						FileInputStream fis = new FileInputStream(file);
    						
    						FileOutputStream fos = new FileOutputStream(path, true);
    						
    						int length = 0;
    						
    						byte[] bytes = new byte[1024];
    						
    						while ((length = fis.read(bytes)) != -1) {
    							
    							fos.write(bytes, 0, length);
    						}
    						
    						fos.close();
    						fis.close();
    					} catch (FileNotFoundException e) {
    
    						e.printStackTrace();
    					} catch (IOException e) {
    
    						e.printStackTrace();
    					}
    				}else if (file.isDirectory()) {
    					
    					// 如果是文件夹,就先创建,然后再把内容复制到新文件夹中
    					// 先创建不存在的文件夹
    					File directoryFile = new File(path);
    					
    					directoryFile.mkdir();
    					
    					// 把文件夹中的内容拷贝到新文件夹中
    					copyFile(file, directoryFile);
    				}
    			}
    		}
    	}
    

      

    public static void main(String[] args) {
    
    		folderCopy("D:\JavaTest", "E:\JavaTest");
    
    		System.out.println("文件夹拷贝完成!");
    	}
    
    	public static void folderCopy(String str1, String str2) {
    
    		// str1 为原来, str2 为复制后
    		File file1 = new File(str1);
    
    		File[] files1 = file1.listFiles();
    
    		File file2 = new File(str2);
    
    		if (!file2.exists()) {
    
    			file2.mkdirs();
    		}
    
    		for (File file : files1) {
    
    			if (file.isFile()) {
    
    				fileCopy(file.getPath(), str2 + "\" + file.getName());
    			}
    
    			else if (file.isDirectory()) {
    
    				folderCopy(file.getPath(), str2 + "\" + file.getName());
    			}
    		}
    	}
    
    	public static void fileCopy(String str1, String str2) {
    
    		// 复制文件
    		try {
    			// 读 输入
    			FileInputStream fis = new FileInputStream(str1);
    			// 自动创建不存在的文件
    			FileOutputStream fos = new FileOutputStream(str2, true);
    			
    			byte[] bytes = new byte[5];
    			
    			int length = 0;
    
    			while ((length = fis.read(bytes)) != -1) {
    
    				fos.write(bytes, 0, length);
    			}
    			// 先打开的后关闭,后打开的先关闭
    			fos.close();
    			
    			fis.close();
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    

      

  • 相关阅读:
    LoadRunner对移动互联网后端服务器压力测试
    Android性能测试工具Emmagee
    Android APP测试流程
    手机APP测试点总结
    Jmeter与LoadRunner的异同
    理解JMeter聚合报告(Aggregate Report)
    树的深度优先遍历和广度优先遍历非递归实现.
    帮助大家理解一下递归函数的返回值...
    使用散列表来降低时间复杂度
    写代码一定要注意边界问题,要考虑全面开始的边界以及结束的边界,已防止出现严重的错误。
  • 原文地址:https://www.cnblogs.com/niuxiao12---/p/7250002.html
Copyright © 2020-2023  润新知