如何在写入后清除 PrintWriter 的内容

2023-11-26

晚上好,我想知道如何清除写入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());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在写入后清除 PrintWriter 的内容 的相关文章

随机推荐

  • 现在在JavaFX中如何从TableView获取TableHeaderRow?

    我在很多地方看到了如何使用代码获取表头的示例 TableHeaderRow header TableHeaderRow tableView lookup TableHeaderRow 像这儿 如何防止 TableView 在 javaFX
  • Symfony 4 - 两个目录中的控制器

    在我的应用程序中 我使用 Symfony 4 我希望 Symfony 在两个目录中搜索控制器 A 和 B 我发现了类似这样的内容 controllers resource src DirectoryA Controller type ann
  • 抑制 PyDev 中的警告

    我在 Python 项目中的所有模块的开头使用以下内容 import setup loggers setup loggers是一个完全可以做到这一点的模块 这import语句确保无论首先加载哪个模块 记录器都已设置并准备就绪 但是 由于我不
  • const、let 和 var 对 v8 JavaScript 性能的影响?

    无论功能差异如何 使用新关键字 let 和 const 相对于 var 是否会对性能产生任何普遍或特定的影响 运行程序后 function timeit f N S var start timeTaken var stats min 1e5
  • 在azure中设置webapp%PATH%环境变量

    我正在开发一个 azure webapp 项目 为了使我的应用程序正常工作 我需要在服务器上安装第三方开源软件 我发现在 azure webapp 上执行此操作的唯一方法是手动复制项目上软件的所有文件夹 然后添加所有必需的环境变量 并向路径
  • 我应该扔掉一个弦乐作家吗?或以某种方式重用?

    我会让事情变得简单 我有一个字符串编写器作为类成员 因此我不能使用 using 每次调用某个函数时我都想要一个空的软件 我应该在 sw 上调用 Dispose 并分配一个新对象吗 或者我应该做一些类似 close 的事情并做其他事情来清空缓
  • 将地址传递给数组而不是数组会导致问题吗?

    我遇到了这段代码 char str 600 scanf s str 当然 这会发出这个警告 a c 6 17 warning format specifies type char but the argument has type char
  • 在闪亮的应用程序部署中隐藏密钥

    我正在使用从 S3 获取的数据将应用程序部署到shinyapps io 并且我想确保我的 AWS 密钥是安全的 目前 在 app R 代码中 我正在设置环境变量 然后查询 S3 以获取数据 有没有办法创建一个隐藏密钥的文件并将其与我的 ap
  • 如何使用 ctypes 将 Python 列表转换为 C 数组?

    如果我有以下两组代码 如何将它们粘合在一起 void c function void ptr int i for i 0 i lt 10 i printf p ptr i return def python routine y x for
  • 对于移动应用程序来说,正确的 OAuth 2.0 流程是什么

    我正在尝试使用 OAuth 2 0 在移动应用程序的 Web API 中实现委派授权 根据规范 隐式授权流程不支持刷新令牌 这意味着一旦在特定时间段内授予访问令牌 一旦令牌过期或被撤销 用户必须再次向应用程序授予权限 我想对于在浏览器上运行
  • iOS 7 Sprite Kit 释放内存

    我正在构建一款针对新 iOS 7 和 Sprite Kit 的 iOS 游戏 使用发射器节点和物理来增强游戏玩法 在开发应用程序时 我遇到了一个严重的问题 您创建了场景 节点 效果 但是当您完成并需要返回主屏幕时 如何释放这些资源分配的所有
  • HTML5 iFrame 高度仅为 150px

    基本上我想做的是在页面顶部有一个单一的 薄的工具栏 其中有一排各种 DIV 容器用作按钮 我希望这些按钮能够更新工具栏下方 iframe 的内容 问题是我的工具栏下方的 iframe 高度只有 150px 具体来说 当我指定时会发生这种情况
  • 使用jedis如何写入redis集群中的特定槽/节点

    我正在尝试提高将数据写入redis集群的性能 我们计划从 redi sentinel 迁移到集群模式以实现可扩展性 但是 与redis sentinel相比 写操作的性能要差很多 我们在redis sentinel中利用了管道 但集群模式不
  • 在 PHP 中迭代复杂的关联数组

    有没有一种简单的方法可以在 PHP 中迭代此结构的关联数组 数组 searches有一个编号索引 包含 4 到 5 个关联部分 所以我不仅需要迭代 searches 0 通过 searches n 但是也 searches 0 part0
  • 获取有关 MATLAB com.mathworks 内部结构的帮助

    可以访问 MATLAB 的内部 java 代码位 以编程方式更改 MATLAB 本身 例如 您可以使用以下命令以编程方式在编辑器中打开文档 editorServices com mathworks mlservices MLEditorSe
  • UITableView自定义滚动条

    如何为 UITableView 创建自定义滚动条 我想删除跟踪开始时弹出并在跟踪结束时消失的默认选项 相反 我想要一个类似于计算机程序中的程序 a 它位于屏幕的右侧并且永久可见 b 手动滚动栏会将 UITableView 滚动到适当的位置
  • 禁用特定 GDI 设备上下文的抗锯齿功能

    我正在使用第三方库将图像渲染到 GDI DC 并且我需要确保渲染任何文本时都不会进行任何平滑 抗锯齿 以便我可以将图像转换为具有索引颜色的预定义调色板 我用于渲染的第三方库不支持此功能 并且仅根据当前 Windows 设置的字体渲染来渲染文
  • 如何在 Haskell 中使用策略编写并行归约?

    在高性能计算中 总和 乘积等通常使用 并行归约 来计算 该方法需要n元素并在 O logn 时间 给定足够的并行性 在 Haskell 中 我们通常使用fold对于这种计算 但评估时间始终与列表的长度呈线性关系 Data Parallel
  • 固定宽度整数类型是否保证是标准内置类型的 typedef?

    类型是否来自
  • 如何在写入后清除 PrintWriter 的内容

    晚上好 我想知道如何清除写入PrintWriter的数据 即打印后是否可以从PrintWriter中删除数据 在此 servlet 中 我将一些文本打印到响应中 并在 表示的行处 我想删除所有以前打印的数据并打印新内容 protected