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