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 줄을 기록한 후 교착 상태가되며 파일 크기는 3MB로 표시됩니다. 파일에 500 줄 이상의 파일이 1 줄 이상 부족한 곳이 거의 없습니다.process.waitfor() 및 BufferReader가 콘솔에 전체 파일을 쓰지 않습니다.
bufferReader를 통해 쓸 수있는 것에 제한이 있습니까?
아니요. 문제는 아마도 프로세스가 입력을 기다리고있는 것일 수 있습니다. 출력을 읽기 전에 입력 스트림을 닫아야하며 표준 오류도 병합하거나 읽어야합니다. – EJP