logo

Javaで画面をクリアする方法

Java でコンパイルして実行すると、 Javaプログラム 、コンソールまたは画面が大量のコマンドと出力で混乱します。コンソールの煩雑なコンテンツを減らすか消去するには、次のことを行う必要があります。 Javaで画面をクリアする プログラムを適切な方法で実行できるようにします。このセクションでは、次のことを学びます Java でコンソールまたは画面をクリアする方法。

画面またはコンソールをクリアするには次の方法があります。 ジャワ :

ANSIエスケープコードの使用

ANSI エスケープ シーケンスは、カーソル位置を制御するための標準の帯域内シグナリングです。次の例では、エスケープ コードを使用しています。 33[H33[2J. コードを分割して個別に理解しましょう。

    33:これは ASCII エスケープ文字を表します。 ANSI 値は 27 です。 ESC 。[:エスケープシーケンスを表します。としても知られています CSI (制御シーケンスインジケーター)。 CSI コマンドは次で始まります。 ESC[ その後に 0 個以上のパラメーターが続きます。

上記のコードを組み合わせると、次のようになります。 33[ または ESC[。

    33[H:画面またはコンソールの左上隅にあるカーソルを移動します。33[2J:カーソルから画面の端までの画面をクリアします。

上記の 2 つのコードを結合してみましょう。 33[H33[2J. コードを組み合わせると、画面またはコンソールがクリアされます。

コマンドでパラメータを指定しない場合、CSI コマンドはデフォルト値を使用します。次のコードを使用して、Java で画面をクリアできます。

ClearScreenExample1.java

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

上の例では、上で説明したのと同じコード (33[H33[2J)] を使用しています。コンソールをクリアします。私たちも使用しました。 流す() 画面上部のカーソル位置をリセットする機能。

ボト3

プラットフォーム固有のコマンドの使用

使用しているプラ​​ットフォームに応じてコマンドを使用することもできます。このメソッドでは、まず、 getプロパティ() System クラスのメソッド。その後、プラットフォームで使用されるコマンドを選択してコンソールをクリアします。

System.getProperty() メソッド

System クラスの静的メソッドです。指定されたキーが示すシステム プロパティを取得するために使用されます。パラメータを解析します 文字列型。システムプロパティの名前を指定します。システムのプロパティを返します。

構文:

 public static String getProperty(String key) 

次の例外がスローされます。

    セキュリティ例外:セキュリティ マネージャーが存在し、その checkPropertyAccess() メソッドが指定されたシステム プロパティへのアクセスを許可しない場合。NullPointerException:キー null を指定しない場合は例外がスローされます。IllegalArgumentException:キーが空の場合は例外がスローされます。

プラットフォーム固有のコマンドを使用してコンソールをクリアする Java プログラムを作成してみましょう。

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

上の例では、 ウィンドウズ オペレーティング システムとコンソールをクリアするために使用されるコマンドは CLS 。上記のプログラムでは次のコードを使用することもできます。

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

コマンドラインインタープリタの使用

このメソッドでは、コマンド ライン インタープリター (CMD) を呼び出します。インタプリタを呼び出した後、 CLS 指示。組み込みコマンドを実行できるようになります。ここで、インタープリタ出力チャネルを Java プロセス出力チャネルに接続する必要があります。これは、inheritIO() メソッドを使用して実行できます。

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

上記のプログラムがコンソールに接続すると、出力リダイレクトなしでコマンド ラインから開始され、画面またはコンソールが消去されます。