logo

Hoe u het scherm in Java kunt wissen

In Java, wanneer we compileren en uitvoeren Java-programma's , raakt de console of het scherm in de war met veel opdrachten en uitvoer. Om de rotzooi-inhoud van de console te verminderen of op te ruimen, moeten we dat doen maak het scherm leeg in Java zodat we programma's op de juiste manier kunnen uitvoeren. In dit gedeelte zullen we leren hoe u de console of het scherm in Java kunt wissen.

Er zijn de volgende manieren om het scherm of de console leeg te maken Java :

ANSI-escapecode gebruiken

ANSI-ontsnappingssequentie is standaard in-band signalering om de cursorpositie te besturen. In het volgende voorbeeld hebben we de escape-code gebruikt 33[H33[2J. Laten we de code breken en afzonderlijk begrijpen.

    33:Het vertegenwoordigt het ASCII-escape-teken. De ANSI-waarde is 27. Dit staat voor ESC .[:Het vertegenwoordigt de ontsnappingssequentie. Het is ook bekend als CSI (Bedieningsvolgorde-indicator). Het CSI-commando begint met ESC[ gevolgd door nul of meer parameters.

Door de bovenstaande codes te combineren, krijgen we 33[ of ESC[.

    33[H:Het verplaatst de cursor naar de linkerbovenhoek van het scherm of de console.33[2J:Het maakt het scherm leeg vanaf de cursor tot het einde van het scherm.

Laten we de bovenstaande twee codes combineren, we krijgen 33[H33[2J. De combinatie van code wist het scherm of de console.

De CSI-opdrachten gebruiken de standaardwaarden als we geen parameter in de opdracht specificeren. We kunnen de volgende code gebruiken om het scherm in Java leeg te maken:

ClearScreenVoorbeeld1.java

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

In bovenstaand voorbeeld hebben we dezelfde code (33[H33[2J) gebruikt die we hierboven hebben uitgelegd. Het maakt de console leeg. Wij hebben ook gebruik gemaakt van de doorspoelen() functie die de cursorpositie bovenaan het scherm opnieuw instelt.

powershell-beheerder

Platformspecifieke opdrachten gebruiken

We kunnen de opdracht ook gebruiken op basis van het platform dat we gebruiken. Bij deze methode verkrijgen we eerst de eigenschap van het systeem door gebruik te maken van de getProperty() methode van de klasse Systeem. Daarna selecteren we de opdracht die op het platform wordt gebruikt om de console te wissen.

System.getProperty() Methode

Het is de statische methode van de klasse System. Het wordt gebruikt om de systeemeigenschap op te halen die wordt aangegeven door de opgegeven sleutel. Het parseert een parameter sleutel van het type String. Het specificeert de naam van de systeemeigenschap. Het retourneert de eigenschap van het systeem en

Syntaxis:

 public static String getProperty(String key) 

Het genereert de volgende uitzonderingen:

    Beveiligingsuitzondering:Als er een beveiligingsmanager bestaat en de methode checkPropertyAccess() geen toegang tot de opgegeven systeemeigenschap toestaat.NullPointerException:Er wordt een uitzondering gegenereerd als we de sleutel nul niet opgeven.Illegaal argumentUitzondering:Er wordt een uitzondering gegenereerd als de sleutel leeg is.

Laten we een Java-programma maken dat de console leegmaakt met behulp van de platformspecifieke opdracht.

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

In het bovenstaande voorbeeld hebben we de ramen besturingssysteem en de opdracht die wordt gebruikt om de console te wissen is cls . We kunnen ook de volgende code gebruiken in het bovenstaande programma:

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

Commandoregelvertaler gebruiken

Bij deze methode roepen we de opdrachtregelinterpreter (CMD) aan. Na het aanroepen voert de tolk het bestand cls commando. Hiermee kunt u de ingebouwde opdrachten uitvoeren. Nu moeten we het uitvoerkanaal van de tolk verbinden met het uitvoerkanaal van het Java-proces. Dit kan worden gedaan met behulp van de inheritIO() -methode.

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

Zodra het bovenstaande programma verbinding maakt met de console, start het vanaf een opdrachtregel zonder uitvoeromleiding en wordt het scherm of de console leeggemaakt.