文章目录

  • IDEA中清空控制台方法
    • 解决办法:
      • 一:打印换行
      • 二:通过按键事件控制键盘执行清空控制台动作
      • 三:附:Java 按键事件 KeyEvent
      • 四:使用鼠标箭头触发按钮实现清空控制台操作
  • Windows 中清空 cmd 方法
  • 总结:

IDEA中清空控制台方法

在网上有看到各种的实现方法,比如:

Runtime.getRuntime().exec("cls");

或者:

public static void clear() {System.out.print("\033[H\033[2J");System.out.flush();
}

还有:


import java.io.IOException;class Clear {public static void main(String... arg) throws IOException, InterruptedException {new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();}
}

但是好像都不管用,所以这里给大家提供了两种正确的解决方法,话不多说,直接安排!

解决办法:

一:打印换行

这里有一个很笨的方法就是通过打印多个换行来 “清空” 之前的内容,但是这种方法会导致你往上翻依旧能看到之前的内容,而且换行之后显示的界面不会出现在控制台顶部看起来也很别扭,所以这种方法不建议使用,但我还是在这提一下,仅供参考。

System.out.println(new String(new char[50]).replace("\0", "\r\n"))

二:通过按键事件控制键盘执行清空控制台动作

  • 按键事件可以利用键盘来控制和执行一些动作,或者从键盘上获取输入,只要按下,释放一个键或者在一个组件上敲击,就会触发按键事件。KeyEvent 对象描述事件的特性(按下,放开,或者敲击一个键)和对应的值。java 提供 KeyListener 接口处理按键事件。

  • 当按下一个键时会调用KeyPressed处理器,当松开一个键时会调用 KeyReleased 处理器,当输入一个统一编码时会调用 KeyTyped 处理器。如果这个键不是统一码(如功能键,修改键,动作键和控制键)
    每个按键事件有一个相关的按键字符和按键代码,分别由KeyEvent中getKeyChar()getKeyCode()方法返回

  • 在 IEAD 中可以通过在控制台右键点击全部清除来实现清空终端,如图:

  • 所以我们可以通过设置快捷键然后调用按键事件同样可以实现清空控制台的操作,设置快捷键的步骤如下:

  • 首先进入 IDEA 的设置界面,找到快捷键选项在右侧搜索框中搜索 clear 找到下边的全部清除选中右键点击 Add KeyBoard Shortcut (添加快捷键),输入自己想要设置的快捷键,最后点击应用,确认即可。

  • 设置好快捷键后我们就可以创建一个方法,导入对应的类即可

代码如下:


import java.awt.*;
import java.awt.event.KeyEvent;/*********************************************************************/public static void clearConsole() throws AWTException {Robot r = new Robot();r.keyPress(KeyEvent.VK_CONTROL);             // 按下Ctrl键r.keyPress(KeyEvent.VK_R);                    // 按下R键r.keyRelease(KeyEvent.VK_R);                  // 释放R键r.keyRelease(KeyEvent.VK_CONTROL);            // 释放Ctrl键r.delay(100);
}
  • 最后在对应的位置调用该方法就可以实现清空控制台的操作了。

  • getKeyChar(): char 返回这个事件中和键相关的字符

  • getKeyCode(): int 返回这个事件中和键相关的整数键

  • keyPressed(e: KeyEvent) 在源组件上按下一个键后被调用

  • KeyReleased(e: KeyEvent) 在源组件上释放一个键后被调用

  • KeyTyped(e: KeyEvent) 在源组件上按下一个键然后释放该键后被调用

  • getKeyCode() 返回定义在表中的值

  • getKeyChar() 返回输入的字符

三:附:Java 按键事件 KeyEvent

按键常量 按键 按键常量 按键
VK_ENTER \n VK_TAB \t (Tab键)
VK_BACK_SPACE \b VK_ENTER \r (回车键)
VK_CONTROL Ctrl键 VK_ALT Alt键
VK_ESCAPE Esc键 VK_BACK_SPACE 退格键
VK_SHIFT Shift 键 VK_CONTROL 控制键
VK_HOME Home键 VK_PAUSE Pause键
VK_END End键 VK_PGUP page up键
VK_PGDN page down键 VK_CAPS_LOCK 大小写锁定键
VK_NUM_LOCK 小键盘锁定键 VK_UNDEFINED 未知键
VK_UP 上箭头 VK_DOWN 下箭头
VK_LEFT 左箭头 VK_RIGHT 右箭头
VK_F1~VK_F12 F1 ~ F12 VK_A ~ VK_Z A ~ Z
VK_0~VK_9 0 ~ 9

当然想要查看更多的 KeyEvent 可以在 IDEA 中点击 KeyEventF4 转到源码进行查看。

四:使用鼠标箭头触发按钮实现清空控制台操作

在我们的控制台右侧工具栏中可以看到一个 “ 小垃圾桶的图标 ” ,同样我们点击该图标就可以清空控制台

所以我们只需要在代码中触发控制鼠标箭头自动点击控制台右侧的 “ 清除所有” 的 “ 小垃圾桶” 图标就可以实现清空控制台,代码如下:

import java.awt.*;
import java.awt.event.InputEvent;public static void clear(int x, int y) throws AWTException{Robot bot = new Robot();bot.mouseMove(x, y);bot.mousePress(InputEvent.BUTTON1_MASK);bot.mouseRelease(InputEvent.BUTTON1_MASK);
}

在对应位置调用该方法,输入对应坐标即可,如下这是我的图标坐标:

clear(200,780)

但是这个方法的不足就是需要定位你的控制台右侧的 “ 小垃圾桶 ” 的坐标,所以你就要去确认你的图标坐标是多少,可以通过截屏软件或者其他工具来确认坐标,但是当你打开控制台的时候可能会调整控制台的长宽,这会就会导致这个图标以及对应的坐标并不是固定的,所以还是有些小麻烦的,但是也能实现跟上一种方法同样的效果。


Windows 中清空 cmd 方法

代码如下:

public static void clearnCmd {try {//使用命令的过程可能会出现失败,需要捕获异常//   Process process = Runtime.getRuntime().exec("cls");new ProcessBuilder("cmd", "/c", "cls")// 将 ProcessBuilder 对象的输出管道和 Java 的进程进行关联,这个函数的返回值也是一个// ProcessBuilder.inheritIO()// 开始执行 ProcessBuilder 中的命令.start()// 等待 ProcessBuilder 中的清屏命令执行完毕// 如果不等待则会出现清屏代码后面的输出被清掉的情况.waitFor(); // 清屏命令                   } catch (Exception e) {e.printStackTrace();}}

在对应位置直接调用该方法即可实现清空cmd。(只能在Windows中运行程序时使用)


总结:

  以上就是介绍的 Windows 下清空 cmd 和 idea中 三种清空控制台的方法,希望让那些遇到同样问题的小伙伴们少走弯路哈。

IDEA清空控制台以及Java中运行cmd命令实现清屏操作相关推荐

  1. linux钟java运行命令,在java中运行linux命令

    我想在java中运行"ls"命令,我的代码是- 注意: - 我正在使用WINDOWS.在java中运行linux命令 import java.io.IOException; pub ...

  2. java中exec命令,java - 从Java中运行exec命令需要 bash 吗? - SO中文参考 - www.soinside.com...

    日志输出显示了运行的命令,可以看到其中包括一个 bash 命令.thufir@dur:~/NetBeansProjects/threadedExecTelnet$ thufir@dur:~/NetBe ...

  3. Linux中如何java联网,如何在Java中运行Linux命令?

    慕运维8079593 您可以java.lang.Runtime.exec用来运行简单的代码.这样可以返回a,Process并且您可以直接读取其标准输出,而不必将输出临时存储在磁盘上.例如,这是一个完整 ...

  4. java中执行cmd命令_如何通过Java执行cmd命令

    小编典典 我在forums.oracle.com中找到了 允许重用进程以在Windows中执行多个命令:http : //kr.forums.oracle.com/forums/thread.jspa ...

  5. 如何在文件夹中运行cmd命令行

    https://jingyan.baidu.com/article/db55b60927aea34ba20a2f11.html

  6. mysql在cmd命令下执行数据库操作

    2019独角兽企业重金招聘Python工程师标准>>> windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下 ...

  7. 使用cmd命令在桌面上新建一个文件夹,且在文件夹中新建一个.java文件,使用cmd命令实现.java文件的编译运行

    标题使用cmd命令在桌面上新建一个文件夹,且在文件夹中新建一个.java文件,使用cmd命令实现.java文件的编译运行 1.在电脑桌面使用快捷键win+r打开 2.打开cmd命令界面之后使用md d ...

  8. Atitit.运行cmd 命令行 php

    Atitit.运行cmd 命令行 php 1. 运行cmd 命令行,调用系统命令的基础 1 1.1. 实际运行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题.程序文件读取编码设置 1 1 ...

  9. MS DOS窗口进入JAVA源程序,从java程序运行MS-DOS命令

    如何在我的java程序中运行MS-DOS命令? 解决方法: import java.io.*; public class Main { public static void main(String a ...

最新文章

  1. 5G的3大应用场景落地开花,中国或将引领全球5G产业发展
  2. hung_task_timeout_secs和blocked for more than 120 seconds的解决方法
  3. 如何用WORD制作三线表
  4. Python爬虫==入门基础概念
  5. Nginx部署及综合应用
  6. iOS设置tabBarItem.image图片渲染模式
  7. P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
  8. 典型案例:TL的困局,自己忙不过来,团队没有结果
  9. ffmpeg 命令实现h264文件 与 mp4 文件的转换
  10. rx550 黑苹果_黑苹果免驱显卡速查表
  11. OpenCv识别多条形码
  12. win7音量图标不见了怎么办捏
  13. 温莎计算机应用硕士是针对国际学生的吗,留学温莎大学
  14. 【Python案例】Python实现垃圾分类APP(附带微信小程序)
  15. 6款办公软件,文案人员常用到
  16. 用几何画板怎么作函数图像
  17. 二叉树前序后序中序互推总结
  18. 玩抖音必知的3个数据分析工具:会用它们,少走很多弯路
  19. Java银联卡支付小系统
  20. 阿里工程师修养之:如何量化考核技术人的 KPI ?

热门文章

  1. 微信小程序的番茄闹钟
  2. 微信支付(上)--支付
  3. Java SE Lesson 5
  4. 【Div+CSS笔记】 0x01 html常用标签元素
  5. 为什么账龄分析的余额与应收款明细表对不上?如何分析?
  6. 实战:垃圾短信分类检测
  7. InterValue项目双周报:20200601-20200614
  8. 苹果系统和安卓系统的区别_安卓系统用久了会卡,苹果系统就能一直流畅?
  9. 毕设代码记录一:无人机照片分割+训练集/测试机/验证集划分
  10. 多目标跟踪MOT(Multiple Object Tracking)最全综述