- Java: очистить консоль
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Функция очистки экрана java
- Learn Latest Tutorials
- Preparation
- Trending Technologies
- B.Tech / MCA
- Javatpoint Services
- Training For College Campus
- Clear the Console in Java
- Use ANSI Escape Codes to Clear Console in Java
- Use ProcessBuilder to Clear Console in Java
- Related Article — Java Console
Java: очистить консоль
Какой код используется в Java для прозрачного экрана?
ОТВЕТЫ
Ответ 1
Поскольку здесь несколько ответов показывают нерабочий код для Windows, вот пояснение:
Эта команда не работает по двум причинам:
- В стандартной установке Windows нет исполняемого файла с именем cls.exe или cls.com , который можно вызвать через Runtime.exec , так как известная команда cls встроена в интерпретатор командной строки Windows.
- При запуске нового процесса через Runtime.exec стандартный вывод перенаправляется на канал, который может считывать инициирующий процесс Java. Но когда вывод команды cls перенаправляется, он не очищает консоль.
Чтобы решить эту проблему, мы должны вызвать интерпретатор командной строки ( cmd ) и сообщить ему выполнить команду ( /c cls ), которая позволяет вызывать встроенные команды. Далее нам нужно напрямую подключить его выходной канал к выходному каналу процесса Java, который работает с Java 7, используя inheritIO() :
import java.io.IOException; public class CLS < public static void main(String. arg) throws IOException, InterruptedException < new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); >>
Теперь, когда процесс Java подключен к консоли, то есть он был запущен из командной строки без перенаправления вывода, он очистит консоль.
Ответ 2
Вы можете использовать следующий код для очистки консоли командной строки:
public static void clearScreen()
Ответ 3
Вот как бы я справился с этим. Этот метод будет работать для случая ОС Windows и корпуса Linux/Unix OS (что означает, что он также работает для Mac OS X).
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) < // Handle any exceptions. >>
Ответ 4
Если вам нужен более независимый от системы способ сделать это, вы можете использовать библиотеку JLine и ConsoleReader.clearScreen(). Разумная проверка того, поддерживается ли поддержка JLine и ANSI в текущей среде, тоже стоит сделать.
Что-то вроде следующего кода работало для меня:
import jline.console.ConsoleReader; public class JLineTest < public static void main(String. args) throws Exception < ConsoleReader r = new ConsoleReader(); while (true) < r.println("Good morning"); r.flush(); String input = r.readLine("prompt>"); if ("clear".equals(input)) r.clearScreen(); else if ("exit".equals(input)) return; else System.out.println("You typed '" + input + "'."); > > >
При выполнении этого, если вы наберете «clear» в приглашении, он очистит экран. Убедитесь, что вы запустили его из соответствующего терминала/консоли, а не в Eclipse.
Ответ 5
Для этого можно напечатать несколько строк ( «\n» ) и имитировать экран очистки. В конце ясно, самое большее в оболочке unix, не удаляет предыдущий контент, только перемещает его, и если вы делаете прокрутку вниз, можете видеть предыдущий контент.
Ответ 6
Создайте метод в своем классе следующим образом: [как @Holger сказал здесь.]
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) <> >
Это работает, по крайней мере, для окон, я пока не проверял Linux. Если кто-нибудь проверяет его на Linux, сообщите мне, работает ли он (или нет).
В качестве альтернативного метода следует написать этот код в clrscr() :
Я не буду рекомендовать вам использовать этот метод.
Ответ 7
Runtime.getRuntime(). exec (cls) НЕ работал на моем ноутбуке XP. Это произошло —
Ответ 8
Это отлично работает в среде Linux
Ответ 9
Вы можете использовать эмуляцию cls с for (int i = 0; i < 50; ++i) System.out.println();
Ответ 10
Это будет работать, если вы делаете это в Bluej или любом другом подобном программном обеспечении.
Ответ 11
Вам нужно использовать JNI.
Прежде всего используйте create.dll, используя visual studio, эту систему вызовов ( «cls» ). После этого используйте JNI для использования этого DDL.
Я нашел эту статью приятной:
Ответ 12
Функция очистки экрана java
Learn Latest Tutorials
Preparation
Trending Technologies
B.Tech / MCA
Javatpoint Services
JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.
- Website Designing
- Website Development
- Java Development
- PHP Development
- WordPress
- Graphic Designing
- Logo
- Digital Marketing
- On Page and Off Page SEO
- PPC
- Content Development
- Corporate Training
- Classroom and Online Training
- Data Entry
Training For College Campus
JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week
Like/Subscribe us for latest updates or newsletter
Clear the Console in Java
- Use ANSI Escape Codes to Clear Console in Java
- Use ProcessBuilder to Clear Console in Java
We have introduced how to get input from console in Java in another article. In this tutorial, we will look at the two ways that can be used to clean the console screen in Java. We will be looking at examples to learn how to execute Java clear screen commands at runtime.
Use ANSI Escape Codes to Clear Console in Java
We can use special codes called ANSI escape code sequences to change cursor positions or display different colors. These sequences can be interpreted as commands that are a combination of bytes and characters.
To clear the console in Java, we will use the escape code \033[H\033[2J . This weird set of characters represents the command to clean the console. To understand it better, we can break it down.
The first four characters \033 means ESC or the escape character. Combining 033 with [H , we can move the cursor to a specified position. The last characters, 033[2J , cleans the whole screen.
We can look at the below example, which is using these escape codes. We are also using System.out.flush() that is specially used for flushing out the remaining bytes when using System.out.print() so that nothing gets left out on the console screen.
public class ClearConsoleScreen public static void main(String[] args) System.out.print("Everything on the console will cleared"); System.out.print("\033[H\033[2J"); System.out.flush(); > >
Use ProcessBuilder to Clear Console in Java
In this method, we will use a ProcessBuilder that is a class mainly used to start a process. We can build a process with the commands that will clean the console.
ProcessBuilder() takes in the commands to execute and its arguments. The issue with this approach is that different operating systems can have different commands to clean the console screen. It is why, in our example, we check the current operating system.
At last, we are using the Process class to start a new process with inheritIO to set the standard input and output channels to Java’s I/O channel.
public class ClearScreen public static void main (String [] args) System.out.println("Hello World"); ClearConsole(); > public static void ClearConsole() try String operatingSystem = System.getProperty("os.name") //Check the current operating system if(operatingSystem.contains("Windows")) ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "cls"); Process startProcess = pb.inheritIO.start(); startProcess.waitFor(); > else ProcessBuilder pb = new ProcessBuilder("clear"); Process startProcess = pb.inheritIO.start(); startProcess.waitFor(); > >catch(Exception e) System.out.println(e); > > >
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.