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\' 目录()中查找 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 回答