BufferedReader (BufferedWriter) を引数にするメソッド

以下で以前に作成したRecord2のwriteToメソッド を、BufferedWriterの引数で動作するようにオーバーロードしたメソッド例で示します。

	//レコードをテキストで書き出す。
	public boolean writeTo(BufferedWriter bw) throws Exception
	{
		if (sho.equals(HIGH_VALUE) == true){
			return false;//終端を意味するデータは、出力しない。
		}
		bw.write(sho);	//書き込み
		bw.newLine();	//改行書き込み(データの区切り)
		bw.write(""+suu);	//書き込み
		bw.newLine();	//改行書き込み(データの区切り)
		return true;
	}

上記で作成されたファイルから、1レコード読み取るメソッドを作成します。
これを、以下で以前に作成したRecord2のreadFromメソッド のオーバーロードしたメソッドとして作成した例です。
(BufferedReaderの引数で動作するメソッドとして追加しています)

	//レコード読み込み 終端や、失敗時に、shoフィールドへHIGH_VALUEをセット
	public boolean readFrom(BufferedReader br)throws Exception
	{
		if (sho != null && sho.equals(Record2.HIGH_VALUE) == true){
			return false;//オブジェクトが終端コードなら読まない。
		}

		sho = br.readLine();		//読み取り
		String s_suu = br.readLine();	//読み取り
		if (sho == null || s_suu == null){//読み取れない(終端)?
			sho = HIGH_VALUE;
			return false;
		}
		suu = Short.parseShort(s_suu);//数値に変換
		return true;
	}