私のフィルタからファイルに書き込んで、それをEclipseで読み込んで、正しく書き込んでいることを確認したいと思います。サーブレットフィルタからファイルに書き込んでEclipseで読み込むにはどうしたらいいですか?
このコードはうまくコンパイルされて実行されますが、ファイルを読むためにどこに行くことができないのか、何か書いたことがあってもわかりません。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
System.out.println("filter invoked");
InputStream in = null;
OutputStream out = null;
String inPath = context.getRealPath("/WEB-INF/template.txt");
String outPath = context.getRealPath("/WEB-INF/output.txt");
in = new FileInputStream(inPath);
out = new FileOutputStream(outPath);
OutputStreamWriter outstream = new OutputStreamWriter(out);
outstream.write("hello");
// pass the request along the filter chain
chain.doFilter(request, response);
}
ファイルtemplate.txtとoutput.txtは、WEB-INFディレクトリにあります。私はファイルからの読み取りがうまく動作することを確認しましたが、書き込みを確認することはできません。 output.txtに書き込むたびに、ファイルに変更はありません。
ウェブアプリケーション環境でファイルに書き込むことについて、私は何を理解していませんか?
ファイルをfinallyブロックで閉じました。私は私のプロジェクトのディレクトリツリーをリフレッシュしました。私は/WEB-INF/output.txtを開きましたが、まだ空白です。 – peter
あなたはfileutils/guavaオプションを試しましたか? – Bozho
実際、私はあきらめました。とにかく出力ファイルはちょうど一時的だったので、代わりにStringBuilderを使用しました。なぜ私はそれを前に考えなかったのか分かりません。 – peter