skillup

技術ブログ

Java

try-with-resourceの使い方

投稿日:

先日ファイル入出力の処理をいろいろと書いていたところ、例外処理について社長からアドバイスをいただきました。

ファイルの入出力について

ファイルの入出力を行う場合、ストリームで接続口を開いた場合、IOExceptionが発生した場合もそうでない場合も下記のように接続口を閉じる必要があります。

try-with-resource

上記のような表記が冗長のため、下記のようにtry文の開始に入力処理を書いておけば、自動で閉じてくれます。

ちなみにストリームが2か所あっても下記のように改行して、つなげれば問題ありません。

この記述自体はよく見かけていたのですが、これがtry-with-resourceという表現だとはしりませんでした。うーん不勉強・・・

参考リンク

 http://docs.oracle.com/javase/jp/7/technotes/guides/language/try-with-resources.html

http://irof.hateblo.jp/entry/20110227/p1

http://qiita.com/FSMS/items/bccd4ab507945d3c0dcd

http://d.hatena.ne.jp/sardine/20130402

-Java
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

あるMapを元にして別のMapを作成

超小ネタ あるMapから別のMapを作る方法です。あるMapをもとに別のMap2を作るときです。 Map<String, String> Map2 = new HashMap<&gt …

no image

JPAでのデータベースとの同期

このブログでも何回か書いてきたJPAですが、新規レコードをインサートさせた際IDを取得し、そのIDをもとに何らかのキーを作る、そういう処理があったので紹介させていただきます。 何回か書いてますが、JP …

no image

Javaのstreamまとめ

以前にもちょっと扱ったJavaのStreamに関してまとめ Contents1 過去のリンク2 ソース3 注意事項4 参考リンク 過去のリンク MapのStream http://skill-up-e …

no image

mavenのゴール

以前、pomに依存ライブラリを記述しましたが、コンパイルのときのみクラスパスが通っており、実行時にはクラスパスが通っていない、NoClassDefFoundErrorがでたことがありました。 気づいた …

no image

複合コンポーネント

JSFではラベルやテキストといったコンポーネントをグループ化し、一つのまとまりとすることができます。 メリットとしては似たような部分をテンプレート化しておくことで保守性を向上させることができます。 さ …