Reader、Writer(抽象クラス)
BufferedReader、BufferdWriter
InputStreamReader、OutputStreamWriter
FileReader、FileWriter
バッファリングなしでファイルからの入力
FileReader
ファイル名、Fileオブジェクトから作成
バッファリングありでファイルからの入力
FileReader→BufferedReader
Readerオブジェクトから作成
行単位でread可能(改行コード line.separatorプロパティの定義)
サービス機能つきでファイルからの入力
FileInputStream→InputStreamReader(→BufferedReader)
InputStreamオブジェクトから作成
エンコード指定可能(Charsetオブジェクトで指定)
Scanner(Java5以降)
FileオブジェクトやInputStream、Readableオブジェクトから作成
構文解析が可能
バッファリングなしでファイルへの出力
FileWriter
ファイル名、Fileオブジェクトから作成
バッファリングありでファイルへの出力
FileWriter→BufferedWriter
Writerオブジェクトから作成
newLineメソッドでシステム依存の改行出力可能(line.separatorプロパティの定義)
サービス機能つきでファイルへの出力
FileOutputStream→OutputStreamWriter(→BufferedWriter)
OutputStreamから作成
エンコード指定可能
PrintWriter
OutputStream、Writerオブジェクトから作成
print、printf、printlnメソッドあり
printlnメソッドでシステム依存の改行出力可能(line.separatorプロパティの定義)
プリミティブ型をフォーマットして出力可能