BufferedReader,BufferedWriter


Scannerとsysoutじゃない
BufferedReader、BuffferedWriterを定義し、その使い方をまとめます.

Bufferとは?


まず、bufferは緩衝剤、緩衝装置、緩和を意味する.
プログラミングでは、バッファはデータ転送に使用され、
記憶領域とデータを一度に伝送するという意味で理解できる.

では、なぜバッファを使うのでしょうか。

  • 文字を組み合わせて送信ことにより、伝送時間を短縮することができ、性能を向上する
  • .
  • ユーザーが入力したエラーの文字は変更できます.
  • スキャナのI/O効率は
  • より高い
    ex)スキャナを使用する場合は、文字列を1つずつ移動する必要がありますが、バッファが集まり、一度に移動します.
    効率性

    使用方法


    BufferedReader = Scanner
    BufferedWriter = System.out.println
    BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 
    String s = bf.readLine(); 
    int i = Integer.parseInt(bf.readLine()); 
  • 高炉
  • 検索
  • 文字列
  • はデフォルトで文字列なので、他のタイプを受信するには変換する必要があります.
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));  
    bw.write(s+"\n"); 
    bw.flush();  
    bw.close();   
    割り当て
  • バッファ値
  • 出力
  • バッファ内のすべての値
    (BufferedWriterにはSystem.out.printlnなどの自動開行機能はありません.
    改行が必要な場合はn単独処理が必要)
  • 残りのデータを割り当てられたバッファの値から削除する
  • を出力する.
  • ストリーム
  • を閉じる

    使用例


    *標準アルゴリズム15552号
    https://www.acmicpc.net/problem/15552
    第1行は、試験例の個数Tを与える.次のT行はそれぞれ2つの整数AとBを与える.各テストケースはA+Bを順次出力し、各行に1つずつ出力する
    public class Main {
    	public static void main(String[] args) throws IOException  {
    		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
    		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
    		StringTokenizer st;
    		int count=Integer.parseInt(bf.readLine());
    		for(int i=0;i<count;i++) {
    		st = new StringTokenizer(bf.readLine());
    		bw.write((Integer.parseInt(st.nextToken())+Integer.parseInt(st.nextToken()))+"\n");
    			
    		}
    		bw.close();
    		
     	}
    }