• ベストアンサー

サーブレットでのファイル書き込みについて

javaのサーブレットで例外ログを書き込む方法が知りたいです。 outputstreamwriterを使っても書き込むことが出来なかったので やり方を教えてください。 javaのバージョンは1.5です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

>回答No.2 amanojaku1 あれはサーブレットではなくJSPですね。 サーブレットのファイル入出力 https://teratail.com/questions/36942 要約すると 注.「java.io.*」を「import」して下さい。 try{ String path = getServletContext().getRealPath("ファイル名"); BufferedWriter bw = new BufferedWriter(new FileWriter(path)); // ストリーム・オープン }catch(IOException e){ // エラー } try{ bw.write("テキスト"); // テキスト出力 bw.newLine(); // 改行 }catch(IOException e){ // エラー } try{ bw.close(); // ストリーム・クローズ }catch(IOException e){ // エラー }

green_tea123
質問者

お礼

ありがとうございます。

その他の回答 (2)

回答No.2

サーブレットは知りませんが サーブレットでテキストファイルに書き込みを行う http://www.atmarkit.co.jp/ait/articles/0312/09/news003.html ↑これからすると、普通に「BufferedWriter」が使えるような感じです。 要約すると BufferedWriter objSBW=new BufferedWriter( new FileWriter(application.getRealPath("ファイル名"))); // ストリーム・オープン objSBW.write("テキスト"+System.getProperty("line.separator")); // テキスト出力+改行 objSBW.close(); // ストリーム・クローズ 注.「java.io.*」が「import」されてます。 通常のJavaでは「try catch」が必要ですが、その例では「try catch」されてませんが?、必要ないと言うことでしょうか。

回答No.1

ログ出力が目的なのであれば、セキュリティ上の懸念がありますので直接出力ではなく別ツールを使用するべきです。 例えば、Log4Jなどが有名です。

参考URL:
https://logging.apache.org/log4j/2.x/

関連するQ&A

専門家に質問してみよう