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 回答