5

多くの質問とグーグルを読んだ後、Javaアプリケーションで画面をクリアしたいのですが、以下のコードを見つけました

runtime.getruntime().exec("cls")

また

Runtime.getRuntime().exec("cmd /c cls");

しかし、上記のコードは Windows 7 では機能しません。「cls」スクリプトがドメイン固有であることは承知しています。Windows 7 で使用すべきテキストを知っている人はいますか。本当に役に立ちます。よろしくお願いします。

4

2 に答える 2

2

clsは内部コマンドであるため (実行可能プログラムを呼び出すのではなく、何かがcmd.exe実行されます)、次のように実行できます。

cmd /c cls

実際にコンソール タイプのアプリケーションを実行していると仮定すると、これは Windows 7 で問題なく動作します。

于 2013-02-21T12:15:07.263 に答える
1

画面をクリアする簡単な方法を探していることは承知しています。改行ハックを使用するか、ANSI 対応のコンソールを使用する必要があります。これは、あなたまたはこれを読んでいる他の人が検討できるJNAを使用した、もう少し難しいWindowsのみの方法です。これは指導例です。必要に応じて、エラー チェック/処理/インポート/インクルードを追加します。JNA の使用方法を既に知っている必要があります。JNA を初めて使用する場合、これは最初に試すのに適したプログラムです。

//------------------------------------------
// Java2Win.class
//------------------------------------------
public interface Java2Win extends Library {
    Java2Win java2Win = (Java2Win)Native.loadLibrary("Java2Win64",Java2Win.class);
    void cls();
}
//------------------------------------------

//------------------------------------------
// Java2Win.c (Java2Win.dll & Java2Win64.dll)
//------------------------------------------
JNIEXPORT void cls() {
   system("cls");
}
//------------------------------------------

//------------------------------------------
// Test
//------------------------------------------
public static void main(final String args[]) throws Exception {
    final File file = new File("rootToDLL", "Java2Win64.dll");
    LibraryLoader.loadLibrary(file);
    System.out.println("-----some output");
    System.out.println("-----some output");
    System.out.println("-----some output");
    Thread.sleep(2000);
    Java2Win.java2Win.cls();
    System.out.println("-----cleared");
}
//------------------------------------------
于 2013-02-22T19:47:29.247 に答える