7の新しいファイルI/OのAPIを試してみました。新しいAPIの解説記事はいろいろ出ていますが、意外とわかりづらかったので(解説指向で高度な内容を書かれているためと思われる)、ごく簡単なシナリオでどんなコードになるかをみてみました。java.nio.file.Paths;これがテキストファイル読み込みで必要な役者一揃いです。ファイルの読み込み自体は従来からおなじみのBufferedReaderです。チェック例外のIOExceptionも十分なじみのクラスです。文字コードを指定するのに、Charsetが必要になります。コマンドライン引数で指定するファイルのパス文字列からBufferedReaderを生成するまでの役者が、Files、Path、Pathsの3人です。}ファイルのアクセス可否を調べるメソッドがFilesクラスに用意されています。}テキストファイルの読み込みの場合、FilesクラスのstaticメソッドnewBufferedReaderで一気にBufferedReaderオブジェクトを作成します。従来の方法だと、FileInputStreamを作ってInputStreamReaderを作ってやっとBufferedReaderを作るという3段階が必要でした*2。7の新しいtry文の文法で自動的にクローズするように記述しました。*1:ここで、「Paths.getは実はFileSystems.getDefault().getPath()」のことだなどというと混乱するので、聞かなかったことにします。*2:エンコーディングを明示的に指定する場合。エンコーディングがデフォルトでよい場合(コーディングとしては非推奨)は、FileRearderを作ってBufferedReaderを作る2段階。9はてなブログをはじめよう!torutkさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。