I/O Streams
Byte Streams
- 8bit バイトでデータを扱う。
- InputStream / OutputStream を継承したクラス。
- 例。FileInputStream / FileOutputStream。
- ローレベルなのであんまり直接は使うことない。
Character Streams
- 16bit Characterでデータを扱う。
- Reader / Writer を継承したクラス。
- 例。FileReader / FileWriter。
- 中でバイトストリーム使ってる
- 例。FileReaderはFileInputStreamを使ってる。
- Characterなので改行を識別できる。→これがBufferedReaderで使われてたりする。
Buffered Streams
- バッファして効率よく処理しましょう。
- Byte Streams / Character Streams をラッピングする感じで使える。4つ。
- BufferedInputStream / BufferedOutputStream
- BufferedReader / BufferedWriter
- バッファを書き込むにはflushするよ。
Scanning
Scannerというクラス。
- トークンに区切れるよ
- デフォルトだとホワイトスペース(空白・タブ・改行文字。詳しくはCharacter.isWhitespace参照)で区切るよ
- 正規表現で区切り文字を指定することができるよ
- ストリームじゃないけど中で使ってるストリームを閉じるためにclose呼べよ
- 文字列として読み込む以外にもプリミティブ(char以外)とBigInteger,BigDecimalで読めるよ
- 3桁カンマ区切りのとかも読めるけどロケール注意な
Formatter
あ、時間切れだ。次はFormatterからだな。
今日のIDEA
Command + F4 でファイルを閉じる。