svn日志获取
svn checkout工程, svn log -r {开始日期}:{结束日期} -v > 日志保存路径
svn log -r {2017-2-6}:{2017-2-15} -v > d:/svn.log
主方法
package ajava; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; public class TestReadFile { static String[] apps="工程A,工程B,工程C".split(","); public static StringBuffer readFileByLines(String fileName, String uname) { StringBuffer buf = new StringBuffer(); File file = new File(fileName); BufferedReader reader = null; try { // System.out.println("以行为单位读取文件内容,一次读一整行:"); InputStreamReader read = new InputStreamReader(new FileInputStream( file), "gbk"); reader = new BufferedReader(read); String tempString = null; int line = 1; // 一次读入一行,直到读入null为文件结束 boolean f = false; boolean me = false; String con = ""; while ((tempString = reader.readLine()) != null) { if ("------------------------------------------------------------------------" .equals(tempString)) { f = true; me = false; con = ""; } else { if (tempString.indexOf(uname) > -1) { me = true; } if (me) { con = tempString + ""; } } // System.out.println(con); buf.append(con); // 显示行号 System.out.println("line " + line + ": finished"); line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } return buf; } public static StringBuffer readFileByKey(String fileName, String key) { StringBuffer buf = new StringBuffer(); File file = new File(fileName); BufferedReader reader = null; try { InputStreamReader read = new InputStreamReader(new FileInputStream( file), "gbk"); reader = new BufferedReader(read); String tempString = null; int line = 1; while ((tempString = reader.readLine()) != null) { if (tempString.indexOf(key) > -1) { buf.append(tempString + " "); } System.out.println("line " + line + ": finished"); line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } return buf; } public static void writeFile(String fileName, String str) { long start = System.currentTimeMillis(); try { FileWriter fileWriter = new FileWriter(fileName); fileWriter.write(str); fileWriter.flush(); fileWriter.close(); long end = System.currentTimeMillis(); System.out.println("写文件耗时:" + (end - start) + " ms"); } catch (Exception e) { e.printStackTrace(); } } public static void step1(){ long start = System.currentTimeMillis(); String str = readFileByLines( "C:/Users/Administrator/Desktop/test/logs.txt", "开发人员svn账户") .toString(); System.out.println(str); writeFile("C:/Users/Administrator/Desktop/test/mylog.txt",str); long end = System.currentTimeMillis(); System.out.println("耗时:" + (end - start) + " ms"); } public static void step2(){ long start = System.currentTimeMillis(); for (int i = 0; i < apps.length; i++) { string key="apps[i];" string str =" readFileByKey(" "c:="" users="" administrator="" desktop="" test="" mylog.txt",key)="" .tostring(); ="" key="key.replace("/", "");" writefile("c:="" "+key+".txt",str);="" }="" long end =" System.currentTimeMillis();" system.out.println("耗时:" + (end - start) + " ms");="" public static void main(string[] args) {="" step2();="" <="" pre=""> apps.length; i++) {>