Java清屏函數


Java清屏函數

前因

因為最近在做Java課程的大作業,一個基於控制台交互的程序,試圖繪制界面,希望每次對console清屏,在網上找了很多清屏函數,發現都或多或少有些問題,包括但不限於以下幾個問題:

  1. 治標不治本
  2. 在Windows運行正常,在Linux無法運行
  3. 在Linux運行正常,在Windows亂碼
  4. 在Windows cmd運行亂碼,其余正常

代碼

最終,結合了我能找到的代碼,終於得出了一個能實現比較滿意的效果的代碼:

    /**
     * 清屏
     */
    public static void clean() {
        try {
            String os = System.getProperty("os.name");
            if (os.contains("Windows")) {
                new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
            } else {
                System.out.println("\033c");
            }
        } catch (Exception exception) {
            //  Handle exception.
        }
    }

tips:在eclipse和IDEA這類IDE里面的控制台是無效的,因為IDE里的輸入輸出流是經過重定向的,不過IDE里本來就是為了調試,清除屏幕本身就是不合理的行為,想看最終效果打成jar包即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM