Windows / Java中的反向换行

Posted

技术标签:

【中文标题】Windows / Java中的反向换行【英文标题】:Reverse line feed in Windows / Java 【发布时间】:2011-10-09 00:33:46 【问题描述】:

有没有办法在 Windows 的系统控制台中写入几行,然后使用 Java 删除或修改它们?我可以使用\r 回车符在同一行上多次写入。 Cygwin 命令less(文本查看器)管理它(虽然它不是 Java),所以我怀疑它是可能的。

我试过\u008D 这是(根据我用谷歌搜索的页面)反向换行符,但它似乎不起作用。

    System.out.println("1");
    System.out.println("2");
    System.out.print("\u008D");
    System.out.println("3");

输出

1
2
?3

而我希望看到

1
3

【问题讨论】:

【参考方案1】:

尝试System.out.print("\b"); 它在 Eclipse 中不起作用(bug - source),但在其他情况下应该可以。

【讨论】:

这是一个日食问题。在标准 Windows cmd 控制台中,一切都应该正常工作【参考方案2】:

JLine 库可以在没有其他方法的情况下提供更高级的控制台控制。请注意,它使用本机代码。

如果您最终使用 JLine,killLine() 方法可能就是您所追求的。

【讨论】:

以上是关于Windows / Java中的反向换行的主要内容,如果未能解决你的问题,请参考以下文章

批处理文件中的反向换行

如何从Java中的文件中删除换行符?

电脑开机时出现windows7跟windos 64是啥意思

windoes任务管理器中的“句柄数”是啥意思!

开发环境Java 文件生成 Windows 系统 .bat 批处理文件并自动执行 ( 输出 GB2312 格式处理中文乱码 | 换行 | Runtime 执行 Cmd 命令 )

Windows 中的 Nutch 1.14 给出异常 java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Wi