Java에서 Process의 입력, 오류 및 출력 스트림에 대한 액세스를 제공하는 교차 플랫폼 솔루션을 만들고 싶습니다.Java의 명령 행 인터페이스
기본적으로 내가 만들고자하는 것은 프로세스의 출력 및 오류 스트림을 표시하고 입력 스트림에 데이터를 제공 할 수있는 텍스트 영역입니다. 즉, 애플리케이션을 실행할 때 Eclipse가 이미 콘솔에서 제공하는 것.
지금이 기본 구현은 쉽습니다. 입력 스트림에 모든 키 누르기 만 보내면됩니다. 그러나 물론 붙여 넣기, 백 스페이스 및 화살표 키를 사용하여 문제가 발생하여 ctrl-C 등의 처리가 가능합니다.
데이터를 프로세스의 입력 스트림으로 보내기 전에 기다려야 할 것 같습니다. 하지만 뭘 기다려? 각 반환 키에 입력 된 (및 붙여 넣은) 텍스트를 모두 보내야합니까? 또는 간격 후에? 약 ctrl-C, ctrl-X 등등은 어떨까요? 화살표 키 움직임을 입력 스트림으로 보냅니 까?
붙여 넣기, 백 스페이스 등으로 어떤 문제점을 보았습니까? 키 이벤트를 리디렉션하는 구성 요소도 모든 이벤트를 처리해야한다고 생각합니다. 그래서 당신이 바라는대로 일어나지 않는 일들이 있다면, 당신이 올바른 구성 요소를 사용하고있는 것처럼 보일 것입니다. –
누군가가 붙여 넣을 때 구성 요소에 Ctrl + V 이벤트가 수신되지만 그보다 훨씬 많은 부분이 텍스트 영역에 추가됩니다. 이것도 역시 감지 할 수 있지만, 언제 그것을 입력 스트림으로 보냅니 까? 곧? 하지만 누군가가 뭔가 붙여 넣고 백 스페이스를 몇 번 누른 다음 돌아 오는 경우 어떻게 될까요? –
버퍼링 된 스트림을 사용하고 있습니까? 버퍼링 된 스트림을 사용하고 각 리턴 키를 즉시 보냅니다. 버퍼링 된 기능은 백 스페이스와 화살표 키를 처리해야합니다. – hauntsaninja