3

読みやすくするために、ターンごとに画面をクリアするゲームに取り組んでいます。唯一の問題は、Windows コマンド プロンプト ベースの「cls」コマンドを使用できないことと、ANSI エスケープ文字をサポートしていないことです。次のページで Dyndrilliac のソリューションを使用しましたが、IOException が発生しました。

Java: コンソールをクリアする

「cls」を「cmd \C cls」に置き換えると、新しいコマンド プロンプトが開き、クリアされ、現在のコンソールにアクセスせずに閉じられました。Windows コマンド プロンプトを介して実行する Java プログラムをコマンド プロンプトの引数にアクセスさせ、それらを使用して出力をクリアするにはどうすればよいですか?

4

4 に答える 4

11
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();

ここで解決: Java: コンソールをクリアする

これが古い投稿であることは承知していますが、「気にしないで」という回答の質問を見つけたとき、または単に死んでしまったときは嫌いです。うまくいけば、それは私のためにしたように誰かを助けます.

Eclipseでは機能しませんが、通常のコンソールでは機能することに注意してください。クロスOSが心配な場合は、さらに一歩進んでください。

        final String os = System.getProperty("os.name");
        if (os.contains("Windows"))
            new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
        else
            Runtime.getRuntime().exec("clear");
于 2015-11-04T15:29:23.703 に答える
1
public static void clrscr(){
//Clears Screen in java
try {
    if (System.getProperty("os.name").contains("Windows"))
        new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
    else
        Runtime.getRuntime().exec("clear");
} catch (IOException | InterruptedException ex) {}
}
于 2019-06-16T15:18:53.103 に答える
-2

cmd画面をクリアしてJavaプログラムを実行するバッチファイルを作成します

ステップ 1. 拡張子が .bat のファイルを作成します ステップ 2. バッチ ファイル内のコードは次のようになります。

Cls Cd デスクトップ // パス Javac filename.java // Java デスクをコンパイル中 // 実行中

これを行うことで....実行時に画面をクリアできます

于 2014-03-05T14:23:25.977 に答える
-2

コンソール関連の API には、画面をクリアするための機能はほとんどありません。ただし、s を介して同じ効果を得ることができますprintln()。多くのパテ クライアントは、このようにページをクリアしてから上にスクロールします。

private static final int PAGE_SIZE = 25;

public static void main(String[] args) {
    // ...
    clearScreen();
}

private static void clearScreen() {
    for (int i = 0; i < PAGE_SIZE; i++) {
        System.out.println();
    }
}
于 2013-10-08T15:59:17.100 に答える