Java阅读多行文本文件,在最后一个字符后在每行末尾添加分隔符
我有以下文本文件。我一次读取每行,并将整行推入字符串。目前,我的代码只是逐行读取每行,不用担心任何空格,所以Java阅读多行文本文件,在最后一个字符后在每行末尾添加分隔符
random text
变成randomtext
。有没有办法在行中的最后一个字符之后插入一个空格?我尝试了下面的代码,但它没有完成这项工作。
d = d.replaceAll("\n", " ");
TextFile.txt的
Text random text random numbers etc. This is a random
text file.
在阅读中的台词,没有在你的字符串中的任何 '\ n' 字符。所以,你需要做的就是通过空间加入这些线。只需使用String.join()
在Java 8中,所有你需要的是:
File f = new File("your file path");
List<String> lines = Files.readAllLines(file.toPath());
String result = String.join(" ", lines);
UPDATE
正如希雷在下面的评论中指出,如果该文件是巨大的规模,这是更好地使用缓冲读取器读取每行并用空格连接它们。
下面是如何使用BufferredReader
File file = new File("file_path");
StringBuilder sb = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append(" ");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
String result = sb.toString();
如果文件的行数太多,最好使用BufferedReader一次读取一行,并在StringBuilder中构建字符串,在除最后一行之外的每行之后添加一个空格“'。 –
@ShireResident是的,我同意。我将在答案中包括这一点。谢谢。 –
如何你是在读线? –