logo

Sådan ryddes skærmen i Java

I Java, når vi kompilerer og kører Java programmer , bliver konsollen eller skærmen rodet med masser af kommandoer og output. For at reducere eller rydde rodet indhold af konsollen, er vi nødt til det Ryd skærmen i Java så vi kan eksekvere programmer på en ordentlig måde. I dette afsnit vil vi lære hvordan man rydder konsollen eller skærmen i Java.

Der er følgende måder at rydde skærmen eller konsollen på Java :

Brug af ANSI Escape Code

ANSI escape-sekvens er standard in-band signalering til at styre markørens position. I det følgende eksempel har vi brugt escape-koden 33[H33[2J. Lad os bryde koden og forstå den separat.

    33:Det repræsenterer ASCII-escape-karakteren. Dens ANSI-værdi er 27. Den står for ESC .[:Det repræsenterer flugtsekvensen. Det er også kendt som CSI (Kontrolsekvensindikator). CSI-kommandoen starter med ESC[ efterfulgt af nul eller flere parametre.

Ved at kombinere ovenstående koder får vi 33[ eller ESC[.

    33[H:Det flytter markøren i øverste venstre hjørne af skærmen eller konsollen.33[2J:Det rydder skærmen fra markøren til slutningen af ​​skærmen.

Lad os kombinere de to ovenstående koder, vi får 33[H33[2J. Kombinationen af ​​kode rydder skærmen eller konsollen.

CSI-kommandoerne bruger standardværdierne, hvis vi ikke angiver nogen parameter i kommandoen. Vi kan bruge følgende kode til at rydde skærmen i Java:

ClearScreenExample1.java

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

I ovenstående eksempel har vi brugt den samme kode (33[H33[2J), som vi har forklaret ovenfor. Det rydder konsollen. Vi har også brugt Flush() funktion, der nulstiller markørens position øverst på skærmen.

diskret matematik negation

Brug af platformsspecifik kommando

Vi kan også bruge kommandoen i henhold til den platform, vi bruger. I denne metode får vi først systemets egenskab ved at bruge getProperty() System-klassens metode. Derefter vælger vi den kommando, der bruges på platformen for at rydde konsollen.

System.getProperty() metode

Det er den statiske metode i System-klassen. Det bruges til at få systemegenskaben angivet af den angivne nøgle. Den analyserer en parameter nøgle af typen String. Det angiver navnet på systemegenskaben. Det returnerer systemets egenskab og

Syntaks:

 public static String getProperty(String key) 

Det giver følgende undtagelser:

    SecurityException:Hvis der findes en sikkerhedsmanager, og dens checkPropertyAccess()-metode tillader ikke adgang til den angivne systemegenskab.NullPointerException:Det kaster undtagelsen, hvis vi ikke angiver nøglen null.UlovligArgumentundtagelse:Det kaster undtagelsen, hvis nøglen er tom.

Lad os oprette et Java-program, der rydder konsollen ved hjælp af den platformsspecifikke kommando.

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

I ovenstående eksempel har vi specificeret Windows operativsystem og den kommando, der bruges til at rydde konsollen, er cls . Vi kan også bruge følgende kode i ovenstående program:

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

Brug af kommandolinjetolk

I denne metode kalder vi kommandolinjefortolkeren (CMD). Efter påkald udfører tolken cls kommando. Det gør det muligt at udføre de indbyggede kommandoer. Nu skal vi forbinde tolkens outputkanal med Java-procesoutputkanalen. Det kan gøres ved at bruge inheritIO() metoden.

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

Når ovenstående program forbinder med konsollen, starter det fra en kommandolinje uden output-omdirigering og rydder skærmen eller konsollen.