zoukankan      html  css  js  c++  java
  • java复制项目中的补丁,完整的包路径

    package com.bytter.audit.iface.util;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;
    
    public class ExportClass {
    
    	public static void main(String[] args) throws IOException {
    		// 导出的补丁包路径
    		String exportBasePath = "E:\bug单\青海\2019稽核\补丁\"
    				+ new SimpleDateFormat("yyyy.MM.dd").format(new Date()) + "接口补丁";
    		File file = new File(exportBasePath);
    		if (!file.exists()) {
    			file.mkdirs();
    		}
    
    		String fileBasePath = "E:\work2019\jk_qhys";
    		List<String> list = getFileList();
    		System.out.println("待复制文件数量为:【"+list.size()+"】");
    		for (String sourceFile : list) {
    			String sourceDirPath = sourceFile.substring(0, sourceFile.lastIndexOf("/"));
    			String sourceFileName = sourceFile.substring(sourceFile.lastIndexOf("/")+1);
    			sourceFileName = sourceFileName.indexOf(".java") > 0
    					? sourceFileName.substring(0, sourceFileName.indexOf(".")) + ".class" : sourceFileName;
    
    			System.out.println("-----开始拷贝文件:"+sourceFileName);
    			// 要导出的文件路径
    			File dirTarget = new File(exportBasePath + sourceDirPath);
    			if (!dirTarget.exists()) {
    				dirTarget.mkdirs();
    			}
    			System.out.println("目标路径:"+dirTarget.getAbsolutePath());
    			File targetFile = new File(exportBasePath + sourceDirPath + File.separator + sourceFileName);
    			// 开始复制文件
    			File fileSource = new File(fileBasePath + sourceDirPath + File.separator + sourceFileName);
    			
    			copyFile(fileSource, targetFile);
    			System.out.println("......拷贝完成:"+sourceFileName);
    		}
    
    	}
    
    	private static List getFileList() {
    		String classFilePath = "\WebContent\WEB-INF\classes";
    		List<String> list = new ArrayList<String>();
    		list.add("/jk_qhys/JavaSource/com/bytter/audit/iface/bussiness/readftpfile/ActionReadFtpFile.java");
    		list.add("/jk_qhys/JavaSource/com/bytter/audit/iface/dumblyThread/dumblyThread.java");
    		list.add("/jk_qhys/JavaSource/com/bytter/audit/iface/dumblyThread/qhbasethread/BtAuditDaillyDataReadFileDZQD.java");
    		list.add("/jk_qhys/JavaSource/com/bytter/audit/iface/bussiness/IbtAuditFtpService.java");
    		list.add("/jk_qhys/JavaSource/com/bytter/audit/iface/bussiness/impl/BtAuditFtpService.java");
    		list.add("/jk_qhys/JavaSource/com/bytter/audit/iface/dumblyThread/qhbasethread/BtAuditDaillyDataReadFileDZQD.java");
    
    		List<String> lists = new ArrayList<String>();
    		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
    			String file = (String) iterator.next();
    			// class文件
    			if (file.indexOf("/com/") > -1) {
    				lists.add(classFilePath + file.substring(file.indexOf("/com/")));
    			}else if(file.indexOf("/WebContent/")>-1){
    				lists.add(file.substring(file.indexOf("/WebContent/")));
    			}
    		}
    		return lists;
    	}
    
    	// 复制文件
    	public static void copyFile(File sourceFile, File targetFile) throws IOException {
    		// 新建文件输入流并对它进行缓冲
    		FileInputStream input = new FileInputStream(sourceFile);
    		BufferedInputStream inBuff = new BufferedInputStream(input);
    
    		// 新建文件输出流并对它进行缓冲
    		FileOutputStream output = new FileOutputStream(targetFile);
    		BufferedOutputStream outBuff = new BufferedOutputStream(output);
    
    		// 缓冲数组
    		byte[] b = new byte[1024 * 5];
    		int len;
    		while ((len = inBuff.read(b)) != -1) {
    			outBuff.write(b, 0, len);
    		}
    		// 刷新此缓冲的输出流
    		outBuff.flush();
    
    		// 关闭流
    		inBuff.close();
    		outBuff.close();
    		output.close();
    		input.close();
    	}
    
    	class FileVo {
    		private String filePath;
    		private String fileName;
    
    		public FileVo() {
    			super();
    		}
    
    		public FileVo(String filePath, String fileName) {
    			super();
    			this.filePath = filePath;
    			this.fileName = fileName;
    		}
    
    		public String getFilePath() {
    			return filePath;
    		}
    
    		public void setFilePath(String filePath) {
    			this.filePath = filePath;
    		}
    
    		public String getFileName() {
    			return fileName;
    		}
    
    		public void setFileName(String fileName) {
    			this.fileName = fileName;
    		}
    
    	}
    
    }
    

      

  • 相关阅读:
    Trie
    [转]Tarjan应用:求割点/桥/缩点/强连通分量/双连通分量/LCA(最近公共祖先)
    [Bzoj2242]常见数值算法
    JavaScript百炼成仙(记录笔记)
    tcpreplay重放报文,tcpdump能抓到包,应用程序收不到包
    用jquery tools来实现选项卡
    ExtNet第二篇
    线性表最简单的表示
    c语言中线性表基本操作方法
    ExtNet第一篇
  • 原文地址:https://www.cnblogs.com/chinazhou-wang/p/11271567.html
Copyright © 2011-2022 走看看