java - 如何在Java中滚动文本输出?

标签 java terminal less-unix

假设我有一个高度为 30 行的终端。

假设我有一个输出 100 行输出的循环

for(int i=0; i<100; i++){
  System.out.println(i);
}

有没有办法可以输出前 30 行,显示“按 Enter 继续输出...”的文本,在用户按 Enter 时显示接下来的 30 行等?

我想以最简单的方式做到这一点。如果我能以某种方式使用less,那就太好了。

<小时/>

更新

这需要在Java源代码中实现。以下不是合适的解决方案:

java program | less'

此外,我需要以编程方式获取执行该命令的任何终端的高度。

最佳答案

更少:

java program | less

for(int i=0; i<100; i++){
    if( i % 30 == 0) {
       System.out.println("Press enter to continue output...");
       System.in.read();
    }    
    System.out.println(i);   
}

关于java - 如何在Java中滚动文本输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750570/

相关文章:

powershell - 为什么我可以在 Windows Powershell 中运行 less、grep 和 find?

bash - Cygwin 'less' 命令使 bash 忘记屏幕缓冲区历史记录

java - 使用过滤器替换响应主体

java - 模式匹配器替换无限循环中的循环

ubuntu - 有关此命令的详细信息

terminal - 如何在 Mac 终端上使用浏览器?

bash 单行代码用于在最后一个屏幕上打开 `less` 且不包含临时文件

java - Spring Boot 应用在 Eclipse 上输出 logo 和版本后突然停止

java - 方法链+继承不能很好地结合在一起?

php - 如何在 html 站点上执行来自 SDK 的命令?