Process process = Runtime.getRuntime().exec(propertiesMap.get("PmdBatFile"));
BufferedReader reader =
new BufferedReader(new InputStreamReader(process.getInputStream()));
String s ;
while ((s = reader.readLine()) != null) {
System.out.println(s);
}
process.waitFor();
此处进程停止并且jvm类型在输出中写入大约13,000行后进入死锁状态,文件大小显示为3 MB,因为它应该写入几乎任何超过1的位置,文件中的行数超过500 MB的文件。
通过bufferReader写入的内容是否有限制?
答案 0 :(得分:-1)
这很好用。
ProcessBuilder processBuilder = new ProcessBuilder(propertiesMap.get("PmdBatFile"));
File log = new File(propertiesMap.get("JenkinsLogs")+"\\"+"\JenkinsLog"+"_"+dateFormat.format(date)+".txt");
processBuilder.redirectErrorStream(true);
processBuilder.redirectOutput(ProcessBuilder.Redirect.appendTo(log));
Process process = processBuilder.start();
process.waitFor();
System.out.println("Done");