- ベストアンサー
file操作時のエラー
現在、Eclipseを開発環境としたJavaでのファイル操作の勉強をしているのですがエラーが出て困っています。 さっそくですがソースを張らせていただきます。 import java.io.*; import java.text.*; import java.util.*; public class Hallo { public static void main(String[] args) { File file = new File("C:\\Tomcat 6.0\\webapps\\blog","coment.txt"); FileOutputStream fos = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(fos , "Windows-31J"); BufferedWriter bw = new BufferedWriter(osw); String msg = "abc"; bw.write(msg); bw.close(); osw.close(); fos.close(); } } この様なソースを書いたところEclipseのエディタ上で 処理されない例外の型 FileNotFoundException 処理されない例外の型 UnsupportedEncodingException 処理されない例外の型 IOException などのエラーがMain分中のほとんどの行で出てしまいます。 しかし、このプログラムをサーブレットとして実装して動作させた場合には特に問題なく動きます。 個人的には開発環境からくるエラーか、それとも別の何か根本的な所で自分が間違っているのではないかと考えています。 みなさんのお返事お待ちしております。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
JAVAの例外処理について少し調べてみてはどうでしょう? サーブレットして実行できるのは サーブレットで使っているメソッドでthrowsがあるからだと思いますよ
その他の回答 (1)
- root139
- ベストアンサー率60% (488/809)
メッセージ通り、処理されないチェック例外が有るのでエラーになっています。 他の方も指摘されている通り、サーブレットとして実装して動作させた場合は、throws節でExceptionなどが指定されていた(処理された)から動かせたのかと。 例外については下記のページなどが参考になるかと思います。 http://www.atmarkit.co.jp/fjava/rensai3/eclipsejava2_03/eclipse2_03_2.html http://nextindex.jp/java/exception.html
お礼
なるほど・・・throws節はそういう働きがあるのですね。 リンクは参考にさせていただき、無事解決することができました。ありがとうございます。
お礼
なるほど・・・ファイル操作をするときは例外処理を書く必要性があったのですね。試しにtry catchをつかって実装したところ正常に動きました。ありがとうございます。