logo

Kaip išvalyti ekraną Java

Java, kai kompiliuojame ir paleidžiame Java programos , konsolė arba ekranas susipainioja su daugybe komandų ir išvesties. Norėdami sumažinti arba išvalyti konsolės turinį, turime tai padaryti išvalyti ekraną Java kad galėtume tinkamai vykdyti programas. Šiame skyriuje mes išmoksime kaip išvalyti konsolę arba ekraną Java.

Yra šie būdai, kaip išvalyti ekraną arba konsolę Java :

Naudojant ANSI pabėgimo kodą

ANSI pabėgimo seka yra standartinė signalizacija juostoje, skirta valdyti žymeklio padėtį. Šiame pavyzdyje naudojome pabėgimo kodą 33[H33[2J. Sulaužykime kodą ir supraskime jį atskirai.

    33:Tai reiškia ASCII pabėgimo simbolį. Jo ANSI reikšmė yra 27. Tai reiškia ESC .[:Tai reiškia pabėgimo seką. Jis taip pat žinomas kaip CSI (Valdymo sekos indikatorius). CSI komanda prasideda ESC[ po to nurodomas nulis ar daugiau parametrų.

Sujungę aukščiau nurodytus kodus, gauname 33[ arba ESC[.

    33[H:Jis perkelia žymeklį viršutiniame kairiajame ekrano arba konsolės kampe.33[2J:Jis išvalo ekraną nuo žymeklio iki ekrano pabaigos.

Sujungkime aukščiau pateiktus du kodus, gausime 33[H33[2J. Kodo derinys išvalo ekraną arba konsolę.

CSI komandos naudoja numatytąsias reikšmes, jei komandoje nenurodome jokio parametro. Norėdami išvalyti „Java“ ekraną, galime naudoti šį kodą:

ClearScreenExample1.java

 public class ClearScreenExample1 { public static void main(String[] args) { System.out.print('33[H33[2J'); System.out.flush(); } } 

Anksčiau pateiktame pavyzdyje naudojome tą patį kodą (33[H33[2J), kurį paaiškinome anksčiau. Tai išvalo konsolę. Mes taip pat naudojome flush () funkcija, kuri iš naujo nustato žymeklio padėtį ekrano viršuje.

bash patikrinkite, ar nustatytas aplinkos kintamasis

Naudojant platformai skirtą komandą

Taip pat galime naudoti komandą pagal naudojamą platformą. Taikant šį metodą, pirmiausia gauname sistemos savybę, naudodami getProperty() Sistemos klasės metodas. Po to pasirenkame platformoje naudojamą komandą, kad išvalytume konsolę.

System.getProperty() metodas

Tai statinis sistemos klasės metodas. Jis naudojamas sistemos ypatybei, nurodytai nurodytu raktu, gauti. Jis analizuoja parametrą Raktas tipo String. Jis nurodo sistemos ypatybės pavadinimą. Tai grąžina sistemos savybę ir

Sintaksė:

 public static String getProperty(String key) 

Jame pateikiamos šios išimtys:

    Saugumo išimtis:Jei yra saugos tvarkyklė ir jos metodas checkPropertyAccess() neleidžia pasiekti nurodytos sistemos ypatybės.NullPointerException:Ji išmeta išimtį, jei nenurodome rakto null.IllegalArgumentException:Tai daro išimtį, jei raktas tuščias.

Sukurkime Java programą, kuri išvalys konsolę naudodami konkrečios platformos komandą.

ClearScreenExample2.java

 public class ClearScreenExample2 { public final static void clearConsole() { public static void main(String[] args) { try { final String os = System.getProperty('os.name'); if (os.contains('Windows')) { Runtime.getRuntime().exec('cls'); } } catch (final Exception e) { e.printStackTrace(); } } 

Aukščiau pateiktame pavyzdyje nurodėme Windows operacinė sistema ir komanda, kuri naudojama konsolei išvalyti kls . Aukščiau pateiktoje programoje taip pat galime naudoti šį kodą:

 public final static void clearConsole() { try { final String os = System.getProperty('os.name'); if (os.contains('Windows')) { Runtime.getRuntime().exec('cls'); } else { Runtime.getRuntime().exec('clear'); } } catch (final Exception e) { e.printStackTrace(); } } 

Komandinės eilutės vertėjo naudojimas

Šiuo metodu iškviečiame komandų eilutės interpretatorių (CMD). Iškvietęs vertėjas įvykdo kls komandą. Tai leidžia vykdyti integruotas komandas. Dabar turime sujungti vertėjo išvesties kanalą su Java proceso išvesties kanalu. Tai galima padaryti naudojant inheritIO() metodą.

ClearScreenExample3.java

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

Kai aukščiau minėta programa prisijungia prie konsolės, ji paleidžiama iš komandinės eilutės be išvesties peradresavimo ir išvalo ekraną arba konsolę.