默认情况下,如果输出大量文本,终端会向下滚动到最后一行,然后用户必须一直向上滚动才能从顶部阅读。我想要一种类似 Java 的方式来实现 Unix“less”程序中提供的滚动。我想要一种输出大量文本的方法,并且用户能够从顶部开始并以他们的速度向下滚动。
问问题
600 次
1 回答
1
这不是一个 Less 实现,但这里有一个想法:
- 将输出分成几个部分:非常长的字符串 => 短字符串数组(~10-15 行);
- 做一个循环,等待用户输入显示下一次迭代
String s = "blahhh foo.... I'm a very long string, with long lines and a lot of linebreaks..."; String[] looping = s.split("\n"); // whatever delimiter you need for(int i = 0 ; i < looping.length ; i++) { // print System.out.print(looping[i]); // wait for user input Scanner scanner = new Scanner(System.in); String a = scanner.nextLine(); // assigne a key to stop the loop before the end if(a.equalsIgnoreCase("X") // X, or whatever you want break; }
于 2011-08-03T19:23:39.707 回答