根据svn的ChangeLog打出更新包

ChangeLog.txt

r628 | zhoulz | 2013-08-18 22:27:18 CST
Changed paths:
M /trunk/config/case_task.xml
M /trunk/src/com/paic/rsms_case/web/TaskController.java
M /trunk/webroot/task/taskList.jsp
M /trunk/webroot/task/taskServiceList.jsp

修改问题查询列表SQL
----------------------------------------------------------------------------


package com.paic;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ChangeLogUtils {
static String[] SRC = new String[] { "src", "config" };
static String WEB = "WebContent";
static String WEBAPPS = "D:/Tomcat7.0.8/webapps/";
static String PROJECT = "knows";
static String DEPLOY_DIR = "/WEB-INF/classes";
static String CHANGE_LOG_PREFIX = "/trunk/";
static String CHANGE_LOG_FILE_NAME = "changelog.txt";
static String TARGET = "D:/Users/ex-zhoulingzhou002/Desktop/changelog/";
static{
WEBAPPS += PROJECT;
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
TARGET = TARGET+sdf.format(new Date())+"/"+PROJECT;
File f = new File(TARGET);
if(f.exists()){
try {
del(TARGET);
} catch (IOException e) {
e.printStackTrace();
}
}
f.mkdirs();
}

public static void main(String[] args) throws Exception {
String root = ChangeLogUtils.class.getResource("/").getPath();
File file = new File(root + CHANGE_LOG_FILE_NAME);
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
List<String> files = new ArrayList<String>();
while ((line = br.readLine()) != null) {
if(line.contains(CHANGE_LOG_PREFIX)){
String filePath = line.replaceAll(
".*?" + CHANGE_LOG_PREFIX + "(.*?)", "$1").replaceAll(
"\\.java", ".class");
String source = "",target = "";
if(filePath.startsWith(WEB)){
filePath = filePath.replaceFirst(WEB, "");
source = WEBAPPS+filePath;
target = TARGET + filePath;
}else{
for (String src : SRC) {
if (filePath.startsWith(src)) {
filePath = filePath.replaceFirst(src, "");
source = WEBAPPS+DEPLOY_DIR+filePath;
target = TARGET + DEPLOY_DIR + filePath;
}
}
}
copyFile(new File(source), new File(target));
}
}
br.close();

}

// 复制文件
public static void copyFile(File sourceFile, File targetFile) throws Exception {
BufferedInputStream inBuff = null;
BufferedOutputStream outBuff = null;
try {
// 新建文件输入流并对它进行缓冲
inBuff = new BufferedInputStream(new FileInputStream(sourceFile));

if(!targetFile.exists()){
try{
targetFile.getParentFile().mkdirs();
targetFile.createNewFile();
}catch(Exception e){
System.out.println(targetFile.getAbsolutePath());
throw e;
}
}
// 新建文件输出流并对它进行缓冲
outBuff = new BufferedOutputStream(new FileOutputStream(targetFile));

// 缓冲数组
byte[] b = new byte[256];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此缓冲的输出流
outBuff.flush();
} finally {
// 关闭流
if (inBuff != null)
inBuff.close();
if (outBuff != null)
outBuff.close();
}
}
/**
*
* @param filepath
* @throws IOException
*/
public static void del(String filepath) throws IOException {
File f = new File(filepath);// 定义文件路径
if (f.exists() && f.isDirectory()) {// 判断是文件还是目录
if (f.listFiles().length == 0) {// 若目录下没有文件则直接删除
f.delete();
} else {// 若有则把文件放进数组,并判断是否有下级目录
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for (int j = 0; j < i; j++) {
if (delFile[j].isDirectory()) {
del(delFile[j].getAbsolutePath());// 递归调用del方法并取得子目录路径
}
delFile[j].delete();// 删除文件
}
}
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值