Java: Get Standard Input from System.in without Scanner


Java で java.util.Scanner を使わずに、 System.in.read() を使って 直接 入力を取得する方法をまとめました。

Environment

  • Java 11

[おさらい] Get Standard Input with Scanner

Scanner を使って標準入力を取得するには次のようにします。 Create a Scanner instance with System.in.

Scanner のインスタンスは next だけでなく、 文字を数値にしてから返す nextInt, nextDouble や、 真偽値にしてから返す nextBoolean などを備えていて便利です。

Get Standard Input from System.in

System.in から直接標準入力を取得するには、 System.in.read() を利用します。

StandardInput.read() gives each char from the standard inpuut.

標準入力で Enter が押されるまでは値を返しません。 System.in は Enter が押される('\n' が入力される)と、 それまでの文字を1文字ずつ返します。