logo

Ako vyčistiť obrazovku v jazyku Java

V Jave, keď kompilujeme a spúšťame Java programy , konzola alebo obrazovka sa pokazí množstvom príkazov a výstupov. Aby sme zmenšili alebo vymazali neporiadok v konzole, musíme to urobiť vymazať obrazovku v jazyku Java aby sme mohli programy spúšťať správnym spôsobom. V tejto časti sa naučíme ako vyčistiť konzolu alebo obrazovku v jazyku Java.

Existujú nasledujúce spôsoby vymazania obrazovky alebo konzoly Java :

Použitie ANSI Escape Code

ANSI escape sekvencia je štandardná vnútropásmová signalizácia na ovládanie polohy kurzora. V nasledujúcom príklade sme použili únikový kód 33[H33[2J. Poďme prelomiť kód a pochopiť ho samostatne.

    33:Predstavuje únikový znak ASCII. Jeho hodnota ANSI je 27. To znamená ESC .[:Predstavuje únikovú sekvenciu. Je tiež známy ako CSI (Indikátor kontrolnej sekvencie). Príkaz CSI začína s ESC[ nasleduje nula alebo viac parametrov.

Kombináciou vyššie uvedených kódov dostaneme 33[ alebo ESC[.

    33[H:Presúva kurzor v ľavom hornom rohu obrazovky alebo konzoly.33[2J:Vymaže obrazovku od kurzora po koniec obrazovky.

Skombinujme dva vyššie uvedené kódy a dostaneme 33[H33[2J. Kombinácia kódu vymaže obrazovku alebo konzolu.

Príkazy CSI používajú predvolené hodnoty, ak v príkaze nešpecifikujeme žiadny parameter. Na vyčistenie obrazovky v jazyku Java môžeme použiť nasledujúci kód:

ClearScreenExample1.java

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

Vo vyššie uvedenom príklade sme použili rovnaký kód (33[H33[2J), ktorý sme vysvetlili vyššie. Vyčistí konzolu. Tiež sme použili spláchnuť() funkcia, ktorá obnoví polohu kurzora v hornej časti obrazovky.

faktoriál v c

Použitie príkazu špecifického pre platformu

Príkaz môžeme použiť aj podľa platformy, ktorú používame. V tejto metóde najprv získame vlastnosť systému pomocou getProperty() metóda triedy System. Potom vyberieme príkaz použitý v platforme na vyčistenie konzoly.

Metóda System.getProperty().

Je to statická metóda triedy System. Používa sa na získanie systémovej vlastnosti označenej zadaným kľúčom. Analyzuje parameter kľúč typu String. Určuje názov systémovej vlastnosti. Vracia vlastnosť systému a

Syntax:

 public static String getProperty(String key) 

Vyvoláva nasledujúce výnimky:

    SecurityException:Ak existuje bezpečnostný manažér a jeho metóda checkPropertyAccess() neumožňuje prístup k špecifikovanej systémovej vlastnosti.NullPointerException:Vyhodí výnimku, ak nešpecifikujeme kľúč null.IllegalArgumentException:Vyhodí výnimku, ak je kľúč prázdny.

Vytvorme program Java, ktorý vyčistí konzolu pomocou príkazu špecifického pre platformu.

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

Vo vyššie uvedenom príklade sme špecifikovali Windows operačný systém a príkaz, ktorý sa používa na vymazanie konzoly je cls . Vo vyššie uvedenom programe môžeme použiť aj nasledujúci kód:

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

Použitie tlmočníka príkazového riadka

V tejto metóde vyvoláme interpret príkazového riadku (CMD). Po vyvolaní tlmočník vykoná cls príkaz. Umožňuje vykonávať vstavané príkazy. Teraz musíme prepojiť výstupný kanál tlmočníka s výstupným kanálom procesu Java. Dá sa to urobiť pomocou metódy inheritIO().

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

Keď sa vyššie uvedený program pripojí ku konzole, spustí sa z príkazového riadku bez presmerovania výstupu a vymaže obrazovku alebo konzolu.