Функция очистки экрана java

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 в текущей среде, тоже стоит сделать.

Читайте также:  What are keywords in java

Что-то вроде следующего кода работало для меня:

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

Splunk tutorial

SPSS tutorial

Swagger tutorial

T-SQL tutorial

Tumblr tutorial

React tutorial

Regex tutorial

Reinforcement learning tutorial

R Programming tutorial

RxJS tutorial

React Native tutorial

Python Design Patterns

Python Pillow tutorial

Python Turtle tutorial

Keras tutorial

Preparation

Aptitude

Logical Reasoning

Verbal Ability

Company Interview Questions

Artificial Intelligence

AWS Tutorial

Selenium tutorial

Cloud Computing

Hadoop tutorial

ReactJS Tutorial

Data Science Tutorial

Angular 7 Tutorial

Blockchain Tutorial

Git Tutorial

Machine Learning Tutorial

DevOps Tutorial

B.Tech / MCA

DBMS tutorial

Data Structures tutorial

DAA tutorial

Operating System

Computer Network tutorial

Compiler Design tutorial

Computer Organization and Architecture

Discrete Mathematics Tutorial

Ethical Hacking

Computer Graphics Tutorial

Software Engineering

html tutorial

Cyber Security tutorial

Automata Tutorial

C Language tutorial

C++ tutorial

Java tutorial

.Net Framework tutorial

Python tutorial

List of Programs

Control Systems tutorial

Data Mining Tutorial

Data Warehouse Tutorial

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 RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

Источник

Clear the Console in Java

Clear the Console in Java

  1. Use ANSI Escape Codes to Clear Console in Java
  2. 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.

Related Article — Java Console

Источник

Оцените статью