我正在开发一款游戏,每次转弯后都会清除屏幕以提高可读性。唯一的问题是我不能使用基于Windows命令提示符的“cls”命令,它不支持ANSI转义字符。我在下一页使用了Dyndrilliac的解决方案,但它导致了IOException:
用“cmd \ C cls”替换“cls”只会打开一个新的命令提示符,清除它并关闭它而不访问当前控制台。如何使通过Windows命令提示符运行的Java程序访问命令提示符的参数并使用它们来清除其输出?
答案 0 :(得分:8)
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
我意识到这是一个古老的帖子,但是我讨厌当我发现问题的回答时,没关系,我得到它,或者它只是消失了。希望这对我有所帮助。
请记住,它不会在eclipse中运行,但会在常规控制台中运行。如果您担心跨操作系统,请更进一步:
final String os = System.getProperty("os.name");
if (os.contains("Windows"))
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
else
Runtime.getRuntime().exec("clear");
答案 1 :(得分: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) {}
}
答案 2 :(得分:-1)
在控制台相关的API中几乎没有什么可以做清晰的屏幕。但是,你可以通过println()
来达到同样的效果。许多putty客户端清除了这样的页面,然后向上滚动。
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();
}
}
答案 3 :(得分:-1)
创建批处理文件以清除cmd屏幕并运行java程序
步骤1.创建扩展名为.bat的文件 第2步。所以批处理文件中的代码将是
CLS Cd桌面//路径 Javac filename.java //编译 Java桌面//正在运行
通过执行此操作....您可以在运行时清除屏幕