logo

Kā notīrīt ekrānu Java

Java, kad mēs kompilējam un palaižam Java programmas , konsole vai ekrāns tiek sajaukts ar daudzām komandām un izvadi. Lai samazinātu vai notīrītu konsoles traucējošo saturu, tas ir jādara notīriet ekrānu Java lai mēs varētu pareizi izpildīt programmas. Šajā sadaļā mēs uzzināsim kā notīrīt konsoli vai ekrānu Java.

Ir šādi veidi, kā notīrīt ekrānu vai konsoli Java :

Izmantojot ANSI evakuācijas kodu

ANSI evakuācijas secība ir standarta joslas signalizācija, lai kontrolētu kursora pozīciju. Nākamajā piemērā mēs esam izmantojuši atsoļa kodu 33[H33[2J. Salauzīsim kodu un sapratīsim to atsevišķi.

    33:Tas apzīmē ASCII atsoļa rakstzīmi. Tā ANSI vērtība ir 27. Tas apzīmē ESC .[:Tas apzīmē evakuācijas secību. Tas ir pazīstams arī kā CSI (Vadības secības indikators). CSI komanda sākas ar ESC[ kam seko nulle vai vairāki parametri.

Apvienojot iepriekš minētos kodus, mēs iegūstam 33[ vai ESC[.

    33[H:Tas pārvieto kursoru ekrāna vai konsoles augšējā kreisajā stūrī.33[2J:Tas notīra ekrānu no kursora līdz ekrāna beigām.

Apvienosim divus iepriekš minētos kodus, mēs iegūstam 33[H33[2J. Koda kombinācija notīra ekrānu vai konsoli.

CSI komandas izmanto noklusējuma vērtības, ja komandā nenorāda nevienu parametru. Mēs varam izmantot šādu kodu, lai notīrītu ekrānu Java:

ClearScreenExample1.java

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

Iepriekš minētajā piemērā esam izmantojuši to pašu kodu (33[H33[2J), ko mēs paskaidrojām iepriekš. Tas notīra konsoli. Mēs esam arī izmantojuši flush () funkcija, kas atiestata kursora pozīciju ekrāna augšdaļā.

pārvēršot virkni datumā

Izmantojot platformai specifisku komandu

Mēs varam arī izmantot komandu atbilstoši platformai, kuru mēs izmantojam. Šajā metodē, pirmkārt, mēs iegūstam sistēmas īpašību, izmantojot getProperty() sistēmas klases metode. Pēc tam mēs atlasām platformā izmantoto komandu, lai notīrītu konsoli.

System.getProperty() metode

Tā ir sistēmas klases statiskā metode. To izmanto, lai iegūtu sistēmas rekvizītu, ko norāda norādītā atslēga. Tas parsē parametru taustiņu tipa String. Tas norāda sistēmas rekvizīta nosaukumu. Tas atgriež sistēmas īpašumu un

Sintakse:

 public static String getProperty(String key) 

Tas rada šādus izņēmumus:

    Drošības izņēmums:Ja pastāv drošības pārvaldnieks un tā metode checkPropertyAccess() neļauj piekļūt norādītajam sistēmas rekvizītam.NullPointerException:Tas izmet izņēmumu, ja nenorādam atslēgu null.IllegalArgumentException:Tas rada izņēmumu, ja atslēga ir tukša.

Izveidosim Java programmu, kas notīra konsoli, izmantojot platformai raksturīgo komandu.

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

Iepriekš minētajā piemērā mēs esam norādījuši Windows operētājsistēma un komanda, kas tiek izmantota, lai notīrītu konsoli kls . Iepriekš minētajā programmā varam izmantot arī šādu kodu:

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

Izmantojot komandrindas tulku

Šajā metodē mēs izsaucam komandrindas tulku (CMD). Pēc izsaukšanas tulks izpilda kls komandu. Tas ļauj izpildīt iebūvētās komandas. Tagad mums ir jāsavieno tulka izvades kanāls ar Java procesa izvades kanālu. To var izdarīt, izmantojot inheritIO() metodi.

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

Kad iepriekš minētā programma ir savienota ar konsoli, tā sākas no komandrindas bez izvades novirzīšanas un notīra ekrānu vai konsoli.