UNIX 환경에서 System.in으로 전달되는 버퍼 된 데이터를 필요로하는 Java 프로그램이 있습니다.버퍼링 된 데이터를 차단하는 대신 파일에서 라인 버퍼 된 데이터를 프로그램으로 리디렉션하는 방법
java the_program < input.txt
프로그램이 제대로 실행되지 않습니다 :
터미널에서 키보드 입력에 전달하면 내가 같은 방법으로 파일에서 입력을 리디렉션하려고하지만 경우에, 괜찮습니다.
버퍼링 된 데이터를 stdin을 통해 프로그램에 전달하는 것과는 달리 어떤 방법으로 버퍼링 할 수 있습니까?
이 나는 시도했다 :
stdbuf -oL cat input.txt | java the_program
및
stdbuf -i0 java the_program < input.txt
뿐만 아니라
grep --line-buffered . input.txt | java the_program
하지만이 운이 없었어요.
의견이나 제안이 있으십니까?
예, 분명히해야합니다. 자바 프로그램은 비 - 라인 버퍼 입력에 대해 실패하도록 설계되었으므로 "the_program"은 표준을 수용하는 모든 프로그램 일 수 있다고 가정해야합니다. 목표는 키보드를 통해 사용자 입력을 시뮬레이트하지만 텍스트 파일에서 미리 정의 된 테스트를 사용하는 것입니다 . – Milo