質問: new InputStreamReader( new ClassPathResource( xmlfile ).getInputStream(), "UTF-8" ); // 以降の処理が実行されない } catch( IOException ex ){ // 例外をキャッチしている } finaly { }
回答: catch文の中に何も書かないのは、「例外をキャッチしている」とは言い難いです。 最低でも、catch文の中で`ex.printStackTrace();`を書きましょう。 おそらく原因は、リソースファイルがクラスパスにコピーされていないためです。 EclipseはソースフォルダーにあるJava以外のファイルを自動的にクラスパスに追加してくれます。 そうでない場合は、手動でクラスパスにリソースファイルをコピーする必要があります。 以下、質問とは関係ないですが、ついでなのでアドバイス。 変数名を大文字で始めると、特に`File`はクラス名と被って混乱の原因となります。 Javaではローカル変数名は小文字で始めるのが一般的な作法です。 `InputStreamReader reader = null`のところのスタイルはあまりお勧めできません。 Java7以降で使えるtry-with-resources文(下記はコード例)を使うのがスマートです。 ``` try (InputStreamReader reader = new InputStreamReader( new ClassPathResource( File ).getInputStream(), "UTF-8" )) { } ```