我正在编写一个程序,该程序(在某一时刻)对另一个本机应用程序进行命令行调用,从该应用程序获取输出,并将其作为字符串放入JTextPane中。问题是,它似乎没有以应有的方式抓取换行符。因为我使用的是 linux,所以每行都以 ^M
结尾,而不是n
。
有没有办法告诉Java寻找这些并在字符串中创建一个换行符?
private void getSettings() {
Commander cmd = new Commander();
settings = cmd.getCommandOutput("hdhomerun_config " + ipAddress + " get /sys/boot");
settingsTextPane.setText(settings);
}
我最终将输出分成一行并在文本窗格中环绕。
我
记得Unix显示回车符^M
r
,因此您可以尝试使用String类的替换方法来替换它
settingsTextPane.setText(settings.replace('r', 'n'));
谢谢大家,我再次查看了我的代码,意识到我一次一行地读取程序的输出,然后只是附加这些行。我需要在我阅读的每一行的末尾添加一个。如果我错了,请纠正我,但我相信 Java 会根据您的操作系统自动更正换行符。