2

送信ボタンのあるHTML入力フォームを作成しています。フォーム アクションは、jsp ページに移動します。これを私のJSPページに書きました

        ServletContext context = this.getServletContext();

        String path = context.getRealPath("WEB-INF/list.txt");


        User user = new User(fName, lName, eAddress, phone, company, webinar,dateObj);
        UserIO.add(user, path);

次に、UserIO という Java クラスを作成しました。

public class UserIO {

    public static void add(User user, String path) throws IOException  
     {
        FileOutputStream fos= new FileOutputStream(path, true);

        PrintWriter out = new PrintWriter(fos);//, true));

        out.println(user.getFname() + "|" + user.getLname() + "|" + user.getEmail() + "|"   );
         out.println(user.getPhone() + "|" + user.getCompany() + "|" + user.getWebinar() + "|" + user.getDate());

        out.close();
    }

}

今私の問題は、出力はJSPページに表示されますが、テキストファイルに保存されません。

私はこのプログラムを Netbeans で実行し、ファイルを に保存しました<projectname>/web/WEB-INF

パスを変更しようとしました<projectname>/web/WEB-INF/list.txtが、エラーメッセージが表示されました。そのため、スタックは上記のように変更しました。

これを修正する方法について専門家の意見を教えてください。

4

3 に答える 3

1

プロジェクトの 'build\web\WEB-INF\' directory() 内で txt ファイルを探します。同じ問題に直面した後、指定されたディレクトリにテキストファイルが見つかりました。:-) ところで、私が言っているのは、Netbeans IDE を使用している場合です..

于 2013-03-29T13:22:52.720 に答える
0

私はあなたの答えを見つけたと思います:
これを使ってみてください:(

ファイルが見つかったと仮定します)
ファイルに書き込むには、コードを次のように置き換える必要があります:

FileOutputStream fos= new FileOutputStream(path, true);
fos.write((user.getFname() + "|" + user.getLname() + "|" + user.getEmail() + "|").getBytes());
fors.write((user.getPhone() + "|" + user.getCompany() + "|" + user.getWebinar() + "|" + user.getDate()).getBytes());


そして完了!

于 2012-07-04T04:54:42.600 に答える
0

FileOutputStream に正しいパスを提供する必要があります。
Eclipse ディレクトリに WEB-INF という名前のフォルダはありますか。ないと思います!
これらの行を使用して、ファイルが作成されている場所を理解してみてください。

File file = new File("list.txt");
System.out.println(file.getCanonicalFile());


于 2012-06-30T06:28:04.907 に答える