ファイルを1回閉じる##読み書きの方法プログラムがファイルを読み書きする方法は「ランダムアクセス」と「シーケンシャルアクセス」がある。ファイルのあちこちに自由に読み書きできる。先頭から順番にしか読み書きできない。読み書き速度が速い※ファイルの書き込みは書き込む文字数があらかじめ分かるが、読み込みは文字数が予め分からない。※ファイルの読み書きは基本1つずつ。※テキストの読み書き時の文字コードはシステム標準のものを使ってる##ディレクトリ作成やファイル作成、パス指定ファイル作成などはFileクラスを使う。パスを指定する時は「¥¥」で区切る「区切り文字」を使うが、OSによってこの区切り文字が違う。Windowsでは「¥」、Linux・Unixでは「/」Fileクラスの「separator」を使ってOSが違ってもプログラムを書き換える必要をなくす。※ちなみに、WindowsではCドライブやDなどドライブ装置がいくつもあるが、Linux・Unixでは記憶装置を1つに統合しているので左端がドライブ名ではなく「/(ルートディレクトリ)」から始まる。//指定ディレクトリ内のファイル名のリストを取得する##書き込みFileWriterクラスとBufferedWriterクラスを使う。FileWriterクラスだけでも書き込めるが、毎回毎回、1文字?ずつ書き込んでいくので効率が悪い。BufferedWriterクラスを使うことで、書き込む文字をある程度溜めていき、一気に書き込める。出力の際には書式付出力ができるPrintWriterクラスを使うといい。※書き込む際にはBufferedWriterクラス内にFileWriterクラスの参照を持っているメンバがあり、それが使われる。//書き込むファイル指定。//書き込むファイル指定。}}##バイナリファイルにバイト列を読み込む・書き込むテキストファイルの読み書きのやり方と一緒。}}#フィルタをストリームに挟んで、変換するフィルタには色々なものがネットとかでも出回ってる。フィルタは単独でnewできない。フィルタはいくつでもセットできる。順番を変えてしまったらちゃんと読み込めなくなる。いう形式で読み書きするかを決めておくのがデータフォーマット。##CSVカンマで区切られる。エクセルなどでも編集可能。##プロパティファイル中身が見て分かりやすい。「.properties」拡張子を使うキーと値をペアにして保存。ペアデリミタは「=」「:」を使う。引数にコメントを入れられる。...※Java5以前までは日本語などをiプロパティファイルへ記述できなかった。入れ子構造のデータ保存に使えるJSONやJAXPというAPIを使って読み書きできる。##Javaの直列化Java直列化を使って、インスタンスの内容をまるごと一気にバイト列へ変換して保存できる。いちいちインスタンスのフィールドごとにひとつひとつ保存する記述を書く必要がない。複雑な構造のデータでも、バイト列に変換して保存・読み込みしてくれる。直列化するクラスにはSerializableインターフェースをimplementsしておく。