我正在使用提交按钮创建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如何解决这个问题?
答案 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());
做完了!