Очистить экран с помощью команды Windows "cls" в консольном приложении Java
Я работаю над игрой, которая включает в себя очистку экрана после каждого хода для удобства чтения. Единственная проблема заключается в том, что я не могу использовать команду "cls", основанную на командной строке Windows, и она не поддерживает управляющие символы ANSI. Я использовал решение Dyndrilliac на следующей странице, но это привело к IOException:
Замена "cls" на "cmd \C cls" только открыла новую командную строку, очистила ее и закрыла без доступа к текущей консоли. Как заставить программу на Java, работающую через командную строку Windows, получить доступ к аргументам командной строки и использовать их для очистки выходных данных?
3 ответа
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
Решено здесь: Java: Очистить консоль
Я понимаю, что это старый пост, но я ненавижу, когда нахожу вопросы с ответами, не говоря уже о том, что я их получил, или он просто умирает. Надеюсь, это поможет кому-то, как и для меня.
Имейте в виду, что он не будет работать в затмении, но будет работать в обычной консоли. сделайте еще один шаг, если вы беспокоитесь о кросс-ОС:
final String os = System.getProperty("os.name");
if (os.contains("Windows"))
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
else
Runtime.getRuntime().exec("clear");
public static void clrscr(){
//Clears Screen in java
try {
if (System.getProperty("os.name").contains("Windows"))
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
else
Runtime.getRuntime().exec("clear");
} catch (IOException | InterruptedException ex) {}
}
В API, связанном с консолью, практически ничего не делается для создания четкого экрана. Но вы можете достичь того же эффекта через println()
s. Многие клиенты-замазки очищают страницу таким образом, а затем прокручивают ее вверх.
private static final int PAGE_SIZE = 25;
public static void main(String[] args) {
// ...
clearScreen();
}
private static void clearScreen() {
for (int i = 0; i < PAGE_SIZE; i++) {
System.out.println();
}
}
Создайте командный файл, чтобы очистить экран cmd и запустить вашу Java-программу
Шаг 1. Создайте файл с расширением.bat. Шаг 2. Таким образом, ваш код в командном файле будет
Cls Cd рабочий стол // путь Javac filename.java // компиляция Java desk // выполняется
Делая это.... вы можете очистить экран во время выполнения