JSP写入文本文件

时间:2012-06-30 05:40:18

标签: jsp text

我正在使用提交按钮创建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,但是给我错误消息。因此卡住改变了它。

请告诉我你的专家opion如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

在项目的build \ web \ WEB-INF \'目录()中查找txt文件。 我遇到了同样的问题,然后我找到了给定目录中的文本文件。 :-) 顺便说一句,我所说的是你使用的是Netbeans IDE ..

答案 1 :(得分:0)

您必须为FileOutputStream提供正确的路径!
你的eclipse目录中是否有任何名为WEB-INF的文件夹。我想不是!
尝试使用这些行来了解文件的创建位置:

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


答案 2 :(得分: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());


做完了!