자바에서 콘솔 입력을 받을때 엔터기준이 아니라 문자 기준으로 바로 읽을수 없을까요?

oneclubs의 이미지

콘솔에서..
System.in.read()로 읽으니
엔터를 치는 순간 버퍼에서 읽어오는것 같은데...

문자 하나 하나 입력할때마다 읽어 올 수 있는 방법은 없을까요?

HotPotato의 이미지

"public static final InputStream in"

System.in 은 final 인 걸로 봐서 바로 고칠 수 없을 것 같고 System.in 을 타 InputStream 확장클래스에 대입해서 쓰면 어떨까 싶네요.
JDK v7 API 를 찾아보니 ObjectInputStream 이라는 게 있는데 readChar(), readUTF() 가 있네요.

아니면 System.in.read(byte[] b) 를 써도 될테고요.

DataInputStream 에도 readByte(), readChar(), readUTF() 가 있으니 참고하세요.

--
즐 Tux~