1

我正在尝试将一些信息写入文本文件。每条信息都应该在一个新的行上。以下代码有效,但是所有内容都打印在一行上。

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();
%>
4

1 回答 1

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 本身提供了“out”,它是scriplets 中的 printwriter 对象变量。
我们可以通过其他一些好方法来做到这一点,但根据您的代码,我发现这种方式很舒服。
编辑:如果没有任何效果,那么您需要给一个机会,pw.printf( "%s" + "%n" , location);因为这允许您将格式化的文本字符串传递给您的 PrintWriter。使用的一个很好的理由printf是处理换行符。换行符会有所不同,具体取决于您使用的操作系统。Windows 将为\r\n新行添加字符。但是 Unix 系统只使用\n. 使用 printf 函数将确保正确的编码,无论是什么平台。

于 2013-03-29T03:44:32.467 回答