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

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

如何在Java中替换字符串中的所有换行符,以便在Windows和Linux上工作(即没有特定于OS的回车/换行/换行等问题)?

我试过了(注意readFileAsString是一个将文本文件读入String的函数):

String text = readFileAsString("textfile.txt");text.replace("\n", "");

但这似乎不起作用。

如何才能做到这一点?


慕丝7291255
浏览 1325回答 3
3回答

哆啦的时光机

您需要设置text结果text.replace():String text = readFileAsString("textfile.txt");text = text.replace("\n", "").replace("\r", "");这是必要的,因为字符串是不可变的 - 调用replace不会更改原始字符串,它会返回一个已更改的新字符串。如果未将结果分配给text,那么新的String将丢失并收集垃圾。至于获取任何环境的换行符 - 可通过调用获得System.getProperty("line.separator")。

PIPIONE

如果只想删除当前操作系统上有效的行终止符,可以执行以下操作:text = text.replaceAll(System.getProperty("line.separator"), "");如果要确保删除任何行分隔符,可以这样做:text = text.replaceAll("\\r|\\n", "");或者,稍微冗长,但更少的regexy:text = text.replaceAll("\\r", "").replaceAll("\\n", "");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java