logo

Как да изчистите екрана в Java

В Java, когато компилираме и стартираме Java програми , конзолата или екранът се объркват с много команди и изход. За да намалим или изчистим объркващото съдържание на конзолата, трябва изчистете екрана в Java за да можем да изпълняваме програми по правилен начин. В този раздел ще научим как да изчистите конзолата или екрана в Java.

Има следните начини за изчистване на екрана или конзолата Java :

Използване на ANSI Escape Code

Екраниращата последователност на ANSI е стандартна сигнализация в лентата за контрол на позицията на курсора. В следващия пример сме използвали escape кода 33[H33[2J. Нека разбием кода и да го разберем отделно.

    33:Той представлява ASCII екраниращия знак. Стойността му по ANSI е 27. Това означава ESC .[:Той представлява последователността за бягство. Известен е още като CSI (Индикатор за контролна последователност). Командата CSI започва с ESC[ последвано от нула или повече параметри.

Като комбинираме горните кодове, получаваме 33[ или ESC[.

    33[З:Той премества курсора в горния ляв ъгъл на екрана или конзолата.33[2J:Изчиства екрана от курсора до края на екрана.

Нека комбинираме горните два кода, получаваме 33[H33[2J. Комбинацията от код изчиства екрана или конзолата.

CSI командите използват стойностите по подразбиране, ако не посочим никакъв параметър в командата. Можем да използваме следния код, за да изчистим екрана в Java:

ClearScreenExample1.java

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

В горния пример сме използвали същия код (33[H33[2J), който обяснихме по-горе. Изчиства конзолата. Ние също използвахме флъш() функция, която нулира позицията на курсора в горната част на екрана.

abs c код

Използване на специфична за платформата команда

Можем също да използваме командата според платформата, която използваме. В този метод, първо, ние получаваме свойството на системата, като използваме getProperty() метод на класа System. След това избираме командата, използвана в платформата, за да изчистим конзолата.

Метод System.getProperty().

Това е статичен метод на класа System. Използва се за получаване на системното свойство, указано от посочения ключ. Той анализира параметър ключ от тип String. Той определя името на системното свойство. Той връща свойството на системата и

Синтаксис:

 public static String getProperty(String key) 

Той хвърля следните изключения:

    SecurityException:Ако съществува мениджър за защита и неговият метод checkPropertyAccess() не позволява достъп до посоченото системно свойство.NullPointerException:Той хвърля изключението, ако не посочим нулевия ключ.IllegalArgumentException:Той хвърля изключение, ако ключът е празен.

Нека създадем Java програма, която изчиства конзолата с помощта на специфичната за платформата команда.

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

В горния пример сме посочили Windows операционна система и командата, която се използва за изчистване на конзолата е клас . Можем също да използваме следния код в горната програма:

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

Използване на интерпретатора на командния ред

В този метод ние извикваме интерпретатора на командния ред (CMD). След извикване интерпретаторът изпълнява клас команда. Позволява изпълнението на вградените команди. Сега трябва да свържем изходния канал на интерпретатора с изходния канал на процеса на Java. Това може да стане с помощта на метода 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(); } } 

След като горната програма се свърже с конзолата, тя стартира от командния ред без пренасочване на изхода и изчиства екрана или конзолата.