I 일부 데이터를 출력 C++ 프로그램 (feeder.exe) : 원함 초당 20-30 선 아니라 균일 생산지연없이 Java InputStream을 읽는 방법은 무엇입니까?
printf("%s\n", line);
평균한다. 내가 출력으로 볼 때, 나는 그것이 3-5에 한 번 문자열의 대부분을받는 것을 볼
package temp_read;
import java.io.*;
public class Main {
public static void main(String[] args) throws Throwable {
Process p = Runtime.getRuntime().exec("d:/feeder.exe");
InputStream is = p.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(System.currentTimeMillis() + "," + line);
}
}
}
:
나는 자바 코드에서 EXE 파일을 실행하여 Java 프로그램에서이 데이터를 잡으려면 초.
질문 : stdout으로 인쇄 할 때 아무런 지체없이 즉시 feeder.exe에서 데이터를받는 방법?
추 신 : 관련 질문 : Ctrl + C로 Java를 중지하면 feeder.exe를 중지하는 방법은 무엇입니까?
'feeder.exe | 더 많은 '당신은 동일한 행동을 볼 가능성이 있습니다. 나는 버퍼에있는 것이 Java에서 어떻게 읽히는가가 아닌 파이프에 있다고 생각합니다. –
동일한 질문에서 관련없는 질문을하지 마십시오. 다른 질문으로 물어보십시오. –
@PeterLawrey, Windows에서 실행합니다. – Serg