特に、コンソール出力は頻繁に使用するので、改めて書くほどでもないが、 形を整えるために記述しておく。
System.out.println("hello"); // 改行を含む System.out.printf("%s", "hello"); // 書式
コンソール入力はコンソール出力に比べれば使用頻度は少ない。 System.out に対応するのが System.in である。
//import java.util.Scanner; Scanner sc = new Scanner(System.in); String line = sc.nextLine();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; try { str = br.readLine(); br.close(); } catch (IOException e) { e.printStackTrace(); }
コンソール入力を調べて動機は大規模なデータ処理である。 圧縮ファイルで 26GB、解凍すると 500GB 程度になるため、ファイルに落とさず、 解凍プログラムの出力先を標準出力として、それをパイプ接続で受けて処理する。
昔、言語は忘れたが、リダイレクトを使ったことがある。今は、要らないのだろうか?
時折、後戻りが必要なため、100MB程度の入力バッファをおく。
バイナリ入力の方が効率が良いかもしれない。