Javaのファイル入出力

いつも忘れてしまうのでJavaのファイル入出力についてメモ(参考 http://www.hellohiro.com/fileio.htm)。ログを作るときはログ出力のライブラリを使うんだけど、素朴なテキストの入出力ってほとんどやらないからなあ。

出力側

BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
String msg = "出力する文字";
bw.write(msg);
bw.newLine();
bw.close();

入力側

BufferedReader br = new BufferedReader(new FileReader(filename));
String message = br.readLine();
br.close();

こんな感じ?

文字コードも自分で決めたければ、File(Reader|Writer)のかわりに、

FileOutputStream fos = new FileOutputStream(filename);
OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932");
BufferedWriter bw = new BufferedWriter(osw);
FileInputStream fis = new FileInputStream(filename);
InputStreamReader ir = new InputStreamReader(fis , "MS932");
BufferedReader br = new BufferedReader(ir);

これでいいのかなあ。Javaはクラスが多すぎてどれが正解なんだかよくわからん。