91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java清屏代碼怎么寫

發布時間:2022-02-23 15:27:51 來源:億速云 閱讀:579 作者:iii 欄目:開發技術

這篇文章主要介紹“java清屏代碼怎么寫”,在日常操作中,相信很多人在java清屏代碼怎么寫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java清屏代碼怎么寫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

java為什么不能直接清屏

其實不止是java,還有python,c語言,大部分語言都沒有辦法直接清屏,想要清屏就需要調用系統的函數(其實是命令)。因為清屏這個功能需要深入到系統內核進行操作,而普通的java程序是沒有辦法進入內核的(其實并不是沒有,在學習操作系統的相關課程之后就知道如何讓java程序進入內核態)。簡單的來說,操作系統分為用戶態和內核態,而清屏的功能只有內核態可以實現,java程序只是用戶態,所以它無法實現清屏,只能通過內核提供的命令來進行清屏。

 關于用戶態和內核態的知識其實對于初學java的程序員來說不需要掌握太多,只需要知道java沒有直接清屏的功能就行了。

如何實現java的清屏

實現java的清屏其實和python使用的是同樣的方法,java也提供了相關的包可以讓java去使用cmd命令。接下來我們來介紹一下java如何調用cmd命令。

java調用cmd命令實例

以下是一個java調用cmd的ping命令的案例,具體代碼介紹已經寫在注釋里了。

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class cmd{
    public static void main(String[] args) {
        String command = "ping www.neiyidaogou.com";//要輸入的命令的字符串
        try {//使用命令的過程可能會出現失敗,需要捕獲異常
            Process process = Runtime.getRuntime().exec(command);
            //使用process可以執行命令
            process.waitFor();
            // 導致當前線程等待,如有必要,一直要等到由該 Process對象表示的進程已經終止。
            //如果已終止該子進程,此方法立即返回。
            //如果沒有終止該子進程,調用的線程將被阻塞,直到退出子進程。
            //根據慣例,0 表示正常終止
            BufferedReader out = new BufferedReader(
            new InputStreamReader(process.getInputStream(), "GBK")); //獲取命令的輸出流
            String outline = null;
            while ((outline = out.readLine()) != null) {
                System.out.println(outline);
            }//輸出命令的輸出流
            System.out.println("狀態值為:" + process.exitValue()); // 輸出命令的返回值(執行狀態,0為成功)
        } catch (Exception e) {
            
            e.printStackTrace();
        }
    }
}

從上面的代碼可以學習到,使用process的Runtime.getRuntime().exec(command)就可以執行cmd的命令,但是如果要看到cmd命令返回的結果,需要使用process.getInputStream() 來獲取cmd的輸出流。

進階版process

上面版本的process是一種比較簡單的執行命令提示符的方法,但這種方法小編用來實現清屏的時候卻出現了差錯。但是,他的進階版——processbuilder就沒有這樣的問題,接下來我們采用processbuilder進行清屏代碼的實現:

public class cmd{
    public static void main(String[] args) {
        System.out.println("打印一些無用的內容");
        System.out.println("打印一些無用的內容");
        System.out.println("打印一些無用的內容");
        System.out.println("打印一些無用的內容");
        System.out.println("打印一些無用的內容");
        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();
        }
        System.out.println("現在沒有無用內容了,我們來說點重要滴事情");
        System.out.println("學編程,哪家強?互聯網上億速云放光芒");
    }
}

到此,關于“java清屏代碼怎么寫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

娄底市| 衢州市| 昔阳县| 凤台县| 凤山市| 无棣县| 三穗县| 延庆县| 九台市| 南通市| 渝北区| 兴城市| 保德县| 平和县| 阿鲁科尔沁旗| 西平县| 霍邱县| 阳城县| 保德县| 喜德县| 公主岭市| 长阳| 平阳县| 湟中县| 交城县| 微山县| 峡江县| 宁远县| 汽车| 东丰县| 柘荣县| 红安县| 景洪市| 九龙县| 礼泉县| 龙里县| 英山县| 竹山县| 常州市| 宜黄县| 徐州市|