在 Java 控制台应用程序中使用 Windows“cls”命令清除屏幕

2023-12-08

我正在开发一款游戏,该游戏需要在每回合后清除屏幕以提高可读性。唯一的问题是我无法使用基于 Windows 命令提示符的“cls”命令,并且它不支持 ANSI 转义字符。我在下一页上使用了 Dyndrilliac 的解决方案,但它导致了 IOException:

Java:清除控制台

将“cls”替换为“cmd \C cls”只会打开一个新的命令提示符,清除它,然后关闭它,而不会访问当前控制台。如何使通过 Windows 命令提示符运行的 Java 程序访问命令提示符的参数并使用它们来清除其输出?


new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();

在这里解决:Java:清除控制台

我意识到这是一篇旧帖子,但我讨厌当我发现问题时得到的答复是“没关系,我明白了”,或者它就消失了。希望它能像对我一样帮助别人。

请记住,它在 Eclipse 中不起作用,但在常规控制台中可以。如果您担心跨操作系统,请更进一步:

        final String os = System.getProperty("os.name");
        if (os.contains("Windows"))
            new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
        else
            Runtime.getRuntime().exec("clear");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 控制台应用程序中使用 Windows“cls”命令清除屏幕 的相关文章

随机推荐

  • boost::named_mutex:最后一个进程关闭时安全清理

    我有一个资源 需要保护一个进程内以及多个进程之间的访问 我通过创建一个命名互斥体来管理这个问题boost interprocess named recursive mutex 而且效果很好 include
  • 尝试将 PDT 中的日期时间解析为 ZonedDateTime 表示形式

    我应该如何解析 PDT 时区中的日期时间值 06 24 2017 07 00 AM PDT 我想保留时区 以便我可以根据网站访问者的偏好来表示其他时区的时间 我尝试使用ZonedDateTime但我收到解析错误 java time Zone
  • 415 在 ajax 调用 Spring mvc 中发送 json 对象时不支持的媒体类型

    我正在从 ajax 调用将 json 对象发送到 spring mvc 控制器 这是我发送到控制器的 json 对象 id 7 priority 8 startTime 2015 09 23 01 01 00 0 我的ajax调用 ajax
  • 如何改进 for 循环而不导致运行时超时,

    我目前正在开发一个项目 该项目使用大约 500 个循环交叉验证 2 张工作表 ROSTER First Name Last Name DoB Judith Barragan 4 10 1959 Kelly Benitez 9 14 1993
  • MacOS excel 中的这段代码相当于什么?

    有人可以建议使用等效的代码吗Mac 版 Excel这会产生与下面在 Windows 中相同的结果吗 Path CreateObject WScript Shell SpecialFolders Desktop ActiveWorkbook
  • 如何使用 OnItemClickListener 根据单击的项目启动新意图?

    我希望能够使用 Intent 类启动新活动 我知道如何使用以下代码行启动活动 Intent myIntent new Intent v getContext bylocationactivity class startActivityFor
  • 不能使用可变变量作为安全函数的参数

    下面的脚本无法编译 它抛出错误Cannot use a mutable variable as an argument of the security function我不明白为什么 我在安全函数中使用的参数不是可变变量 当我注释掉该行时h
  • Chrome 应用程序中的无限文件存储

    我想将无限数量的文件保存到用户的硬盘驱动器 而不需要用户单击对话框 我见过的关于使用无限存储的唯一文档在这里 https developers google com chrome whitepapers storage 它表示它仅适用于 C
  • 左连接和内连接的性能差异

    左连接和内连接在性能方面有什么区别吗 我使用 SQL Server 2012 至少有一种情况LEFT OUTER JOIN是一个更好的选择 INNER JOIN 我谈到使用获得相同的结果OUTER代替INNER 示例 我正在使用Advent
  • .vimrc 文件中的 是什么?

    I see
  • 更改页面时 PdfBox 问题

    我不太喜欢问这类问题 但是 我已经花了整整 3 天时间试图解决我的代码中的这个错误 我知道这是一个逻辑问题 我知道如何在脑海中解决它 但是当涉及到将我的想法转化为代码时 我就是无法让它按照我想要的方式工作 我正在处理一份合同背书 合同的修改
  • Azure Devops - 服务器端 git hooks

    我们如何实现服务器端挂钩或任何类似的解决方案来限制 git 推送到 git 服务器 例如 我们想要禁用包含 class 文件的提交推送 我不认为 Azure DevOps 使用钩子 您可以使用分行政策利用外部验证服务 据我所知 这使用网络挂
  • 如何使用javascript将对象存储在数组中

    我正在开发 Safari 浏览器的扩展 我想将当前活动选项卡对象存储在数组中作为键 如何在数组中存储多个选项卡对象 我写了以下代码 第一个场景 var obj obj1 new Object obj2 new Object obj3 new
  • 有没有办法在 Git 中签出新分支后触发挂钩?

    有没有办法在 Git 中签出新分支后触发挂钩 git hook 是放置在存储库的特殊位置的脚本 该位置是 git 钩子 该脚本可以是您可以在您的环境中执行的任何类型 即 bash python ruby 等 签出后执行的钩子是结账后 来自文
  • nginx/413 请求实体太大

    当我尝试在服务器上上传文件时 出现以下错误 413请求实体太大 这当然意味着我的文件太大了 所以我做了一个快速的谷歌搜索并发现了这个 open etc nginx nginx conf Edit set client body size t
  • Fortran 标准中 OPEN 语句中的 SHARED 选项

    在本文档中HP Fortran 文档 OPEN 语句接受 SHARED 和 READONLY 选项 在本文档中标准 Fortran 2008 文档 OPEN 语句不接受 SHARED 或 READONLY 选项 因为我正在使用gfortra
  • python Flask 线程 true 不起作用

    With threaded True每个请求都在一个新线程中处理 但是 如果我将应用程序的 threaded 设置为 true 它将显示未知的行为 这是我的代码 from flask import Flask from flask impo
  • Webpack 在供应商块中使用 node_modules 而不明确声明它们

    So 代码分割是创建不同捆绑包的技术 所以应用程序 供应商等 我知道我想要什么vendor捆绑 但只是按照惯例 Anything import x from name import name 这些需要在vendor 因为 我认为它们 显然来
  • DateTimeFormatter 解析 - 时区名称和夏令时重叠时间

    为了提高某些遗留代码的性能 我正在考虑用 java time format DateTimeFormatter 替换 java text SimpleDateFormat 执行的任务之一是解析使用 java util Date toStri
  • 在 Java 控制台应用程序中使用 Windows“cls”命令清除屏幕

    我正在开发一款游戏 该游戏需要在每回合后清除屏幕以提高可读性 唯一的问题是我无法使用基于 Windows 命令提示符的 cls 命令 并且它不支持 ANSI 转义字符 我在下一页上使用了 Dyndrilliac 的解决方案 但它导致了 IO