logo

Як очистити екран в Java

У Java, коли ми компілюємо та запускаємо Java програми , консоль або екран заплутуються великою кількістю команд і виводу. Щоб зменшити або очистити безладний вміст консолі, нам потрібно очистити екран у Java щоб ми могли виконувати програми належним чином. У цьому розділі ми дізнаємося як очистити консоль або екран в Java.

Існують наступні способи очистити екран або консоль Java :

Використання ANSI Escape Code

Вихідна послідовність ANSI є стандартною внутрішньосмуговою сигналізацією для керування положенням курсору. У наступному прикладі ми використали escape-код 33[H33[2J. Давайте розберемо код і розберемося окремо.

    33:Він представляє вихідний символ ASCII. Його значення ANSI становить 27. Це означає ВИХІД .[:Він представляє escape-послідовність. Він також відомий як CSI (Індикатор послідовності керування). Команда CSI починається з ВИХІД[ за якими йде нуль або більше параметрів.

Об'єднавши наведені вище коди, ми отримаємо 33[ або ВИХІД[.

    33[H:Він переміщує курсор у верхньому лівому куті екрана або консолі.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), який ми пояснили вище. Це очищає консоль. Ми також використовували flush() функція, яка скидає положення курсору у верхній частині екрана.

склад відносин

Використання спеціальної команди для платформи

Ми також можемо використовувати команду відповідно до платформи, яку ми використовуємо. У цьому методі спочатку ми отримуємо властивість системи за допомогою getProperty() метод класу System. Після цього вибираємо команду, яка використовується на платформі для очищення консолі.

Метод System.getProperty().

Це статичний метод класу System. Він використовується для отримання властивостей системи, позначених вказаним ключем. Він аналізує параметр ключ типу String. Він визначає ім'я властивості системи. Він повертає властивість системи і

Синтаксис:

 public static String getProperty(String key) 

Він створює наступні винятки:

    SecurityException:Якщо існує менеджер безпеки та його метод checkPropertyAccess() не дозволяє доступ до вказаної властивості системи.NullPointerException:Він створює виняток, якщо ми не вказуємо ключ null.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(); } } 

У наведеному вище прикладі ми вказали вікна операційна система та команда, яка використовується для очищення консолі cls . Ми також можемо використати наступний код у наведеній вище програмі:

 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). Після виклику інтерпретатор виконує cls команда. Дозволяє виконувати вбудовані команди. Тепер нам потрібно з’єднати вихідний канал інтерпретатора з вихідним каналом процесу 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(); } } 

Щойно зазначена вище програма підключається до консолі, вона запускається з командного рядка без переспрямування виводу та очищає екран або консоль.