我正在尝试将一些信息写入文本文件。每条信息都应该在新的一行上。以下代码可以正常工作,但所有内容都打印在一行上。
println()不应该打印到新行吗?为什么不起作用?
<%
String file = request.getParameter("page");
String name = request.getParameter("name");
String location = request.getParameter("location");
String number = request.getParameter("number");
String url = request.getParameter("url");
PrintWriter pw = new PrintWriter(new FileOutputStream(file));
pw.println(name);
pw.println(location);
pw.println(number);
pw.println(url);
pw.close();
%>
答案 0 :(得分:1)
使用JSP的真正好处并做到这一点
<%
String file = request.getParameter("page");
String name = request.getParameter("name");
String location = request.getParameter("location");
String number = request.getParameter("number");
String url = request.getParameter("url");
PrintWriter pw = new PrintWriter(new FileOutputStream(file));
pw.println(name);
%><br/>
<% pw.println(location);%><br/>
<% pw.println(number);%><br/>
<% pw.println(url);
pw.close();
%>
我不知道为什么你再次创建PrintWriter
对象,因为JSP本身在scriplets中提供"out" which is a printwriter object变量。
我们可以通过其他一些好方法来做到这一点,但根据你的代码,我发现这种方式很舒服
编辑:如果无效,那么您需要有机会pw.printf( "%s" + "%n" , location);
因为这允许您将格式化的文本字符串传递给PrintWriter。使用printf
的一个很好的理由是处理换行符。新行字符会有所不同,具体取决于您使用的操作系统。 Windows将为新行添加字符\r\n
。但Unix系统只使用\n
。无论平台是什么,使用printf函数都可以确保正确的编码。