logo

Jak vymazat obrazovku v Javě

V Javě, když zkompilujeme a spustíme Java programy , konzole nebo obrazovka se zanesou spoustou příkazů a výstupů. Abychom snížili nebo vyčistili obsah konzole, musíme to udělat vymazat obrazovku v Javě abychom mohli spouštět programy správným způsobem. V této části se naučíme jak vyčistit konzolu nebo obrazovku v Javě.

Existují následující způsoby, jak vymazat obrazovku nebo konzolu Jáva :

Použití ANSI Escape Code

ANSI escape sekvence je standardní vnitropásmová signalizace pro ovládání pozice kurzoru. V následujícím příkladu jsme použili escape kód 33[H33[2J. Pojďme prolomit kód a pochopit jej samostatně.

    33:Představuje znak escape ASCII. Jeho hodnota ANSI je 27. To znamená ESC .[:Představuje escape sekvenci. Je také známý jako CSI (Indikátor kontrolní sekvence). Příkaz CSI začíná na ESC[ následuje nula nebo více parametrů.

Kombinací výše uvedených kódů dostaneme 33[ nebo ESC[.

    33[H:Přesouvá kurzor v levém horním rohu obrazovky nebo konzoly.33[2J:Vymaže obrazovku od kurzoru po konec obrazovky.

Zkombinujeme dva výše uvedené kódy a dostaneme 33[H33[2J. Kombinace kódu vymaže obrazovku nebo konzolu.

Pokud v příkazu neuvedeme žádný parametr, použijí příkazy CSI výchozí hodnoty. K vymazání obrazovky v Javě můžeme použít následující kód:

ClearScreenExample1.java

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

Ve výše uvedeném příkladu jsme použili stejný kód (33[H33[2J), který jsme vysvětlili výše. Vyčistí konzoli. Také jsme použili flush() funkce, která resetuje pozici kurzoru v horní části obrazovky.

rozdíl mezi gigabajtem a megabajtem

Použití příkazu specifického pro platformu

Příkaz můžeme také použít podle platformy, kterou používáme. V této metodě nejprve získáme vlastnost systému pomocí getProperty() metoda třídy System. Poté vybereme příkaz použitý v platformě k vymazání konzoly.

Metoda System.getProperty().

Je to statická metoda třídy System. Používá se k získání systémové vlastnosti označené zadaným klíčem. Analyzuje parametr klíč typu String. Určuje název systémové vlastnosti. Vrací vlastnost systému a

Syntax:

 public static String getProperty(String key) 

Vyvolá následující výjimky:

    SecurityException:Pokud existuje správce zabezpečení a jeho metoda checkPropertyAccess() neumožňuje přístup k zadané systémové vlastnosti.NullPointerException:Vyhodí výjimku, pokud neuvedeme klíč null.IllegalArgumentException:Pokud je klíč prázdný, vyvolá výjimku.

Vytvořme Java program, který vyčistí konzolu pomocí příkazu specifického pro 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(); } } 

Ve výše uvedeném příkladu jsme specifikovali Okna operační systém a příkaz, který se používá k vymazání konzoly, je cls . Ve výše uvedeném programu můžeme také použít následující 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žití tlumočníka příkazového řádku

V této metodě vyvoláme interpret příkazového řádku (CMD). Po vyvolání interpret provede cls příkaz. Umožňuje provádět vestavěné příkazy. Nyní musíme propojit výstupní kanál interpretu s výstupním kanálem procesu Java. To lze provést pomocí metody 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(); } } 

Jakmile se výše uvedený program připojí ke konzole, spustí se z příkazového řádku bez přesměrování výstupu a vymaže obrazovku nebo konzolu.