日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

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

發(fā)布時(shí)間:2023/12/2 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 IDEA清空控制台以及Java中运行cmd命令实现清屏操作 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • IDEA中清空控制臺(tái)方法
    • 解決辦法:
      • 一:打印換行
      • 二:通過(guò)按鍵事件控制鍵盤(pán)執(zhí)行清空控制臺(tái)動(dòng)作
      • 三:附:Java 按鍵事件 KeyEvent
      • 四:使用鼠標(biāo)箭頭觸發(fā)按鈕實(shí)現(xiàn)清空控制臺(tái)操作
  • Windows 中清空 cmd 方法
  • 總結(jié):

IDEA中清空控制臺(tái)方法

在網(wǎng)上有看到各種的實(shí)現(xiàn)方法,比如:

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();}
}

但是好像都不管用,所以這里給大家提供了兩種正確的解決方法,話不多說(shuō),直接安排!

解決辦法:

一:打印換行

這里有一個(gè)很笨的方法就是通過(guò)打印多個(gè)換行來(lái) “清空” 之前的內(nèi)容,但是這種方法會(huì)導(dǎo)致你往上翻依舊能看到之前的內(nèi)容,而且換行之后顯示的界面不會(huì)出現(xiàn)在控制臺(tái)頂部看起來(lái)也很別扭,所以這種方法不建議使用,但我還是在這提一下,僅供參考。

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

二:通過(guò)按鍵事件控制鍵盤(pán)執(zhí)行清空控制臺(tái)動(dòng)作

  • 按鍵事件可以利用鍵盤(pán)來(lái)控制和執(zhí)行一些動(dòng)作,或者從鍵盤(pán)上獲取輸入,只要按下,釋放一個(gè)鍵或者在一個(gè)組件上敲擊,就會(huì)觸發(fā)按鍵事件。KeyEvent 對(duì)象描述事件的特性(按下,放開(kāi),或者敲擊一個(gè)鍵)和對(duì)應(yīng)的值。java 提供 KeyListener 接口處理按鍵事件。

  • 當(dāng)按下一個(gè)鍵時(shí)會(huì)調(diào)用KeyPressed處理器,當(dāng)松開(kāi)一個(gè)鍵時(shí)會(huì)調(diào)用 KeyReleased 處理器,當(dāng)輸入一個(gè)統(tǒng)一編碼時(shí)會(huì)調(diào)用 KeyTyped 處理器。如果這個(gè)鍵不是統(tǒng)一碼(如功能鍵,修改鍵,動(dòng)作鍵和控制鍵)
    每個(gè)按鍵事件有一個(gè)相關(guān)的按鍵字符和按鍵代碼,分別由KeyEvent中getKeyChar()getKeyCode()方法返回

  • 在 IEAD 中可以通過(guò)在控制臺(tái)右鍵點(diǎn)擊全部清除來(lái)實(shí)現(xiàn)清空終端,如圖:

  • 所以我們可以通過(guò)設(shè)置快捷鍵然后調(diào)用按鍵事件同樣可以實(shí)現(xiàn)清空控制臺(tái)的操作,設(shè)置快捷鍵的步驟如下:

  • 首先進(jìn)入 IDEA 的設(shè)置界面,找到快捷鍵選項(xiàng)在右側(cè)搜索框中搜索 clear 找到下邊的全部清除選中右鍵點(diǎn)擊 Add KeyBoard Shortcut (添加快捷鍵),輸入自己想要設(shè)置的快捷鍵,最后點(diǎn)擊應(yīng)用,確認(rèn)即可。

  • 設(shè)置好快捷鍵后我們就可以創(chuàng)建一個(gè)方法,導(dǎo)入對(duì)應(yīng)的類即可

代碼如下:


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);
}

  • 最后在對(duì)應(yīng)的位置調(diào)用該方法就可以實(shí)現(xiàn)清空控制臺(tái)的操作了。

  • getKeyChar(): char 返回這個(gè)事件中和鍵相關(guān)的字符

  • getKeyCode(): int 返回這個(gè)事件中和鍵相關(guān)的整數(shù)鍵

  • keyPressed(e: KeyEvent) 在源組件上按下一個(gè)鍵后被調(diào)用

  • KeyReleased(e: KeyEvent) 在源組件上釋放一個(gè)鍵后被調(diào)用

  • KeyTyped(e: KeyEvent) 在源組件上按下一個(gè)鍵然后釋放該鍵后被調(diào)用

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

  • getKeyChar() 返回輸入的字符

三:附:Java 按鍵事件 KeyEvent

按鍵常量 按鍵 按鍵常量 按鍵
VK_ENTER \n VK_TAB \t (Tab鍵)
VK_BACK_SPACE \b VK_ENTER \r (回車(chē)鍵)
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 大小寫(xiě)鎖定鍵
VK_NUM_LOCK 小鍵盤(pán)鎖定鍵 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

當(dāng)然想要查看更多的 KeyEvent 可以在 IDEA 中點(diǎn)擊 KeyEventF4 轉(zhuǎn)到源碼進(jìn)行查看。

四:使用鼠標(biāo)箭頭觸發(fā)按鈕實(shí)現(xiàn)清空控制臺(tái)操作

在我們的控制臺(tái)右側(cè)工具欄中可以看到一個(gè) “ 小垃圾桶的圖標(biāo) ” ,同樣我們點(diǎn)擊該圖標(biāo)就可以清空控制臺(tái)

所以我們只需要在代碼中觸發(fā)控制鼠標(biāo)箭頭自動(dòng)點(diǎn)擊控制臺(tái)右側(cè)的 “ 清除所有” 的 “ 小垃圾桶” 圖標(biāo)就可以實(shí)現(xiàn)清空控制臺(tái),代碼如下:

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);
}

在對(duì)應(yīng)位置調(diào)用該方法,輸入對(duì)應(yīng)坐標(biāo)即可,如下這是我的圖標(biāo)坐標(biāo):

clear(200,780)

但是這個(gè)方法的不足就是需要定位你的控制臺(tái)右側(cè)的 “ 小垃圾桶 ” 的坐標(biāo),所以你就要去確認(rèn)你的圖標(biāo)坐標(biāo)是多少,可以通過(guò)截屏軟件或者其他工具來(lái)確認(rèn)坐標(biāo),但是當(dāng)你打開(kāi)控制臺(tái)的時(shí)候可能會(huì)調(diào)整控制臺(tái)的長(zhǎng)寬,這會(huì)就會(huì)導(dǎo)致這個(gè)圖標(biāo)以及對(duì)應(yīng)的坐標(biāo)并不是固定的,所以還是有些小麻煩的,但是也能實(shí)現(xiàn)跟上一種方法同樣的效果。


Windows 中清空 cmd 方法

代碼如下:

public static void clearnCmd {try {//使用命令的過(guò)程可能會(huì)出現(xiàn)失敗,需要捕獲異常//   Process process = Runtime.getRuntime().exec("cls");new ProcessBuilder("cmd", "/c", "cls")// 將 ProcessBuilder 對(duì)象的輸出管道和 Java 的進(jìn)程進(jìn)行關(guān)聯(lián),這個(gè)函數(shù)的返回值也是一個(gè)// ProcessBuilder.inheritIO()// 開(kāi)始執(zhí)行 ProcessBuilder 中的命令.start()// 等待 ProcessBuilder 中的清屏命令執(zhí)行完畢// 如果不等待則會(huì)出現(xiàn)清屏代碼后面的輸出被清掉的情況.waitFor(); // 清屏命令                   } catch (Exception e) {e.printStackTrace();}}

在對(duì)應(yīng)位置直接調(diào)用該方法即可實(shí)現(xiàn)清空cmd。(只能在Windows中運(yùn)行程序時(shí)使用)


總結(jié):

??以上就是介紹的 Windows 下清空 cmd 和 idea中 三種清空控制臺(tái)的方法,希望讓那些遇到同樣問(wèn)題的小伙伴們少走彎路哈。

?

總結(jié)

以上是生活随笔為你收集整理的IDEA清空控制台以及Java中运行cmd命令实现清屏操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。