当前位置: 首页 > 面试题库 >

写入后如何清除PrintWriter的内容

宗政功
2023-03-14
问题内容

晚上好,我想知道如何清除写入到PrintWriter的数据,即是否可以在打印后从PrintWriter删除数据?

在此servlet中,我在响应中打印一些文本,并在#表示的行上希望删除所有先前打印的数据并打印新内容:

protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    String uName = request.getParameter("uName");
    String uPassword = request.getParameter("uPassword");

    if (uName .equals("Islam")) {
        out.println("Valid-Name");
        if (uPassword !=null) {
            if (uPassword .equals("Islam")) {
                // # clear the writer from any printed data here
                out.println("Valid-password");
            } else {
                out.println("");
                out.println("InValid-password");
            }
        }
    } else {
        out.println("InValid-Name");

    }

}

注意:我尝试过out.flush(),但旧的打印文本仍然保留


问题答案:

创建一个内存PrintWriter使用StringWriter。您可以从获取底层缓冲区,StringWriter并在需要时清除它。

StringWriter sr = new StringWriter();
PrintWriter w = new PrintWriter(sr);

w.print("Some stuff");
// Flush writer to ensure that it's not buffering anything
w.flush();
// clear stringwriter
sr.getBuffer().setLength(0);

w.print("New stuff");

// write to Servlet out
w.flush();
response.getWriter().print(sr.toString());


 类似资料:
  • 问题内容: 我有一个jTable,它的表模型定义如下: 有谁知道我如何清除其内容?就这样它返回到一个空表吗? 问题答案: 最简单的方法: 也就是说,您的reset方法告诉模型具有0行数据。模型将向表中触发适当的数据更改事件,表将自行重建。

  • 问题内容: 我正在构建Codeigniter应用程序,并且正在尽最大努力防止SQL注入。我正在使用Active Record方法构造所有查询。我知道Active Record会自动清除输入内容,但是我想知道到底是什么程度?它只是转义所有引号,还是做更多呢?如何防止混淆的SQL注入或其他更高级的注入? 基本上,我正在寻找有关CI如何清理数据的深入说明。有人知道吗 问题答案: 完全像这样(对于MySQ

  • 问题内容: 我正在编写一种自动提款机程序,该程序会将数据输出到文件中(是​​的,我知道它不是英语,但这不是重点),并且遇到了错误。 当我尝试使用它不起作用时,我不知道为什么。 for循环有效,但各行。这真的让我感到困惑!我已经尝试过)并且得到了,但这仍然无济于事。 有人可以解释我在做什么错吗? 问题答案: 为什么要在writeToFile调用中打开和关闭流?您不应该在for循环之前在writeFo

  • 问题内容: 当用户单击我页面上的按钮时,应清除div的内容。我将如何实现这一目标? 问题答案: 只是Javascript(根据要求) 将此功能添加到页面上的某个位置(最好在中) 然后在点击事件上添加按钮: 在JQuery中(供参考) 如果您喜欢JQuery,则可以执行以下操作:

  • 问题内容: 由于某种原因,我的String部分由PrintWriter编写。结果,我的文件中出现了部分文本。方法如下: 在将文本打印到控制台的地方,我可以看到数据全部存在,没有任何丢失,但是当PrintWriter完成工作时,显然文本的一部分丢失了……我一无所知。 问题答案: 在丢弃打开的流之前,应始终保留流。这将释放一些相当昂贵的系统资源,当您在文件系统上打开文件时,您的JVM必须获取这些资源。

  • 我刚开始使用Material Design的ViewPager和Tablayout(自带Android Studio)。我创造了5个碎片,我能够使用一个刷卡他们的需要。 根据用户在Fragment2中的选择,我想删除Fragment3。但是,从表列中移除选项卡后,当滑动到第三个选项卡(在移除第三个选项卡之前是第四个选项卡)时,会显示错误的片段--系统将第三个片段存储在内存中并显示它。如果我销毁了该