Java JTextPane和换行符

Java JTextPane和换行符,java,linux,swing,newline,jtextpane,Java,Linux,Swing,Newline,Jtextpane,我正在编写一个程序,它(在某一点上)对另一个本机应用程序进行命令行调用,从该应用程序获取输出,并将其作为字符串放入JTextPane。问题是,它似乎没有以应有的方式抓住新行字符。因为我使用的是linux,所以每行的结尾都是^m,而不是\n 有没有什么方法可以告诉Java查找这些内容并在字符串中创建一个换行符 private void getSettings() { Commander cmd = new Commander(); settings = cmd.getCommand

我正在编写一个程序,它(在某一点上)对另一个本机应用程序进行命令行调用,从该应用程序获取输出,并将其作为字符串放入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
,因此您可以尝试使用String类的方法替换它

settingsTextPane.setText(settings.replace('\r', '\n'));

谢谢大家,我再次查看了我的代码,意识到我正在一行一行地读取程序的输出,并且只是附加了这些行。我需要在阅读的每行末尾添加一个\n。如果我错了,请纠正我,但我相信Java会根据您的操作系统自动更正换行符。

您是否尝试过linux等效的/r/n或line.separator属性?顺便问一下-为什么要对纯文本使用
JTextPane
JTextArea
更简单..搜索System.getProperty(“line.separator”);