Java:如何修改控制台输出?
我需要编写一个简单的基于终端的程序,
- 使用包裹在BufferedReader中的FileReader从文件中读取一些文本。
- 将文本打印到控制台,用户应该可以对其进行修改。
- 输入Enter + S后,程序应读取修改后的文本并将其保存回原始文件。
总而言之,这个想法是为没有GUI的类Unix环境编写一个文本编辑器。
但是,我在步骤2和3中遇到问题。
System.out打印的所有文本都是不可变的。我该如何改变这种行为?
如何实现Enter + S的键侦听器。我可以使用GUI轻松实现它,但是如何在基于控制台的程序中添加侦听器呢?并在Enter程序中只需在修改后的文本中添加新行。另外,我该如何阅读已经打印到终端的文本?
PS我必须使用JDK 1.4,因此如果有任何相关性,则无法访问Scanner和Console类。我还认为,用Java无法完成这样的任务,因此您可以建议使用C
/ C ++解决方案。毕竟,他们早在MS-DOS时代就做到了。
谢谢!
回答:
您需要的是类似charva的东西。它是一个Java库,可以执行24
x 80终端的旧termcap / termio / curses / ncurses库的工作。
Charva(和curses等)通过向终端或终端仿真器发送控制代码和/或转义序列来移动光标,写入和擦除字符等工作。在现代系统上,它们依赖于提供ANSI或VT100终端仿真的控制台…或类似的东西。
以上是 Java:如何修改控制台输出? 的全部内容, 来源链接: utcz.com/qa/425525.html