logo

Como limpar tela em Java

Em Java, quando compilamos e executamos Programas Java , o console ou a tela fica confuso com muitos comandos e saídas. Para reduzir ou limpar o conteúdo bagunçado do console, precisamos limpar a tela em Java para que possamos executar programas de maneira adequada. Nesta seção, aprenderemos como limpar o console ou tela em Java.

Existem as seguintes maneiras de limpar a tela ou console em Java :

Usando código de escape ANSI

A sequência de escape ANSI é uma sinalização dentro da banda padrão para controlar a posição do cursor. No exemplo a seguir, usamos o código de escape 33[H33[2J. Vamos quebrar o código e entendê-lo separadamente.

    33:Representa o caractere de escape ASCII. Seu valor ANSI é 27. Significa ESC .[:Representa a sequência de escape. Também é conhecido como CSI (Indicador de sequência de controle). O comando CSI começa com ESC[ seguido por zero ou mais parâmetros.

Combinando os códigos acima, obtemos 33[ ou ESC[.

    33[H:Ele move o cursor no canto superior esquerdo da tela ou console.33[2J:Limpa a tela do cursor até o final da tela.

Vamos combinar os dois códigos acima, obtemos 33[H33[2J. A combinação de código limpa a tela ou console.

Os comandos CSI usam os valores padrão se não especificarmos nenhum parâmetro no comando. Podemos usar o seguinte código para limpar a tela em Java:

ClearScreenExample1.java

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

No exemplo acima, usamos o mesmo código (33[H33[2J) que explicamos acima. Isso limpa o console. Também usamos o rubor() função que redefine a posição do cursor na parte superior da tela.

strsep c

Usando comando específico da plataforma

Também podemos usar o comando de acordo com a plataforma que estamos usando. Neste método, primeiro, obtemos a propriedade do sistema usando o getPropriedade() método da classe System. Depois disso, selecionamos o comando utilizado na plataforma para limpar o console.

Método System.getProperty()

É o método estático da classe System. É usado para obter a propriedade do sistema indicada pela chave especificada. Ele analisa um parâmetro chave do tipo String. Ele especifica o nome da propriedade do sistema. Ele retorna a propriedade do sistema e

Sintaxe:

 public static String getProperty(String key) 

Ele lança as seguintes exceções:

    Exceção de segurança:Se existir um gerenciador de segurança e seu método checkPropertyAccess() não permitir acesso à propriedade de sistema especificada.Null Pointer Exception:Ele lança a exceção se não especificarmos a chave nula.Exceção de argumento ilegal:Lança a exceção se a chave estiver vazia.

Vamos criar um programa Java que limpe o console usando o comando específico da plataforma.

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

No exemplo acima, especificamos o janelas sistema operacional e o comando usado para limpar o console é cls . Também podemos usar o seguinte código no programa acima:

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

Usando o interpretador de linha de comando

Neste método, invocamos o interpretador de linha de comando (CMD). Depois de invocar o intérprete executa o cls comando. Permite executar os comandos integrados. Agora precisamos conectar o canal de saída do interpretador ao canal de saída do processo Java. Isso pode ser feito usando o método herdarIO().

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

Depois que o programa acima se conecta ao console, ele inicia a partir de uma linha de comando sem redirecionamento de saída e limpa a tela ou console.