logo

Hvordan tømme skjermen i Java

I Java, når vi kompilerer og kjører Java-programmer , blir konsollen eller skjermen rotet til med mange kommandoer og utdata. For å redusere eller fjerne rotinnholdet på konsollen, må vi tømme skjermen i Java slik at vi kan kjøre programmer på en skikkelig måte. I denne delen vil vi lære hvordan tømme konsollen eller skjermen i Java.

Det er følgende måter å tømme skjermen eller konsollen på Java :

Bruker ANSI Escape Code

ANSI escape-sekvens er standard in-band signalering for å kontrollere markørposisjonen. I det følgende eksempelet har vi brukt escape-koden 33[H33[2J. La oss bryte koden og forstå den separat.

    33:Den representerer ASCII-escape-karakteren. Dens ANSI-verdi er 27. Den står for ESC .[:Den representerer rømningssekvensen. Det er også kjent som CSI (Kontrollsekvensindikator). CSI-kommandoen starter med ESC[ etterfulgt av null eller flere parametere.

Ved å kombinere kodene ovenfor får vi 33[ eller ESC[.

    33[H:Den flytter markøren øverst til venstre på skjermen eller konsollen.33[2J:Den sletter skjermen fra markøren til slutten av skjermen.

La oss kombinere de to ovennevnte kodene, får vi 33[H33[2J. Kombinasjonen av kode sletter skjermen eller konsollen.

CSI-kommandoene bruker standardverdiene hvis vi ikke spesifiserer noen parameter i kommandoen. Vi kan bruke følgende kode for å tømme skjermen i Java:

ClearScreenExample1.java

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

I eksemplet ovenfor har vi brukt den samme koden (33[H33[2J) som vi har forklart ovenfor. Det tømmer konsollen. Vi har også brukt flush() funksjon som tilbakestiller markørposisjonen øverst på skjermen.

les json-filer

Bruke plattformspesifikk kommando

Vi kan også bruke kommandoen i henhold til plattformen vi bruker. I denne metoden får vi først egenskapen til systemet ved å bruke getProperty() metoden til System-klassen. Etter det velger vi kommandoen som brukes på plattformen for å tømme konsollen.

System.getProperty()-metoden

Det er den statiske metoden til System-klassen. Den brukes til å få systemegenskapen angitt av den angitte nøkkelen. Den analyserer en parameter nøkkel av typen String. Den spesifiserer navnet på systemegenskapen. Den returnerer egenskapen til systemet og

Syntaks:

 public static String getProperty(String key) 

Det gir følgende unntak:

    SecurityException:Hvis det finnes en sikkerhetsbehandler og dens checkPropertyAccess()-metode tillater ikke tilgang til den angitte systemegenskapen.NullPointerException:Det kaster unntaket hvis vi ikke spesifiserer nøkkelen null.UlovligArgumentUnntak:Det kaster unntaket hvis nøkkelen er tom.

La oss lage et Java-program som tømmer konsollen ved å bruke den plattformspesifikke kommandoen.

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 eksemplet ovenfor har vi spesifisert Windows operativsystem og kommandoen som brukes til å tømme konsollen er cls . Vi kan også bruke følgende kode i programmet ovenfor:

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

Bruke kommandolinjetolk

I denne metoden påkaller vi kommandolinjetolken (CMD). Etter å ha påkalt, utfører tolken cls kommando. Det lar deg utføre de innebygde kommandoene. Nå må vi koble tolkens utgangskanal med Java-prosessutgangskanalen. Det kan gjøres ved å bruke 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 programmet ovenfor kobles til konsollen, starter det fra en kommandolinje uten omdirigering av utdata og sletter skjermen eller konsollen.