5

Tomcat でファイルを作成して書き込むことができません。Java アプリケーションとして Java プログラム (コードの書き込み部分のみ) を実行すると、ファイルが作成されますが、Tomcat では失敗します。

エラーメッセージはありません。ファイルはまったく作成されません。

ここで何か不足している場合は提案してください:

//code inside the servlet
public void setData(HttpServletRequest request){
    name=request.getParameter("name");
    address=request.getParameter("address");


    BufferedWriter dataOut;
    try {
        System.out.println("Wrinting file...");
        dataOut = new BufferedWriter(new FileWriter("data.txt", true));




        dataOut.write("name:");
        dataOut.flush();

        dataOut.write("address");
        dataOut.flush();

        dataOut.write("\n");
        dataOut.flush();

        dataOut.close();
        System.out.println("File write complete!");
    }
    catch(Exception e){
        e.printStackTrace();
    }
4

2 に答える 2

6

ファイルは実際に問題なく作成されているようです。

保存されている場所を実際に見逃している可能性があります。

この行を変更します。

System.out.println("File write complete!");

に:

System.out.println("File write complete! Saved to: "+new File("data.txt").getAbsolutePath());

そして謎が解けるかもしれません。

于 2013-04-14T06:22:38.410 に答える
3

ファイルは作成されていますが、相対パスが使用されています。これは、実行場所に対して相対的に作成されます。Tomcat では、これは慣れ親しんだ場所ではありません。

絶対パスを使用するか、その場所を出力してください。

于 2013-04-14T06:23:59.960 に答える