Java阅读多行文本文件,在最后一个字符后在每行末尾添加分隔符

问题描述:

我有以下文本文件。我一次读取每行,并将整行推入字符串。目前,我的代码只是逐行读取每行,不用担心任何空格,所以Java阅读多行文本文件,在最后一个字符后在每行末尾添加分隔符

random text变成randomtext。有没有办法在行中的最后一个字符之后插入一个空格?我尝试了下面的代码,但它没有完成这项工作。

d = d.replaceAll("\n", " ");

TextFile.txt的

Text random text random numbers etc. This is a random 
text file. 
+0

如何你是在读线? –

在阅读中的台词,没有在你的字符串中的任何 '\ 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(); 
+0

如果文件的行数太多,最好使用BufferedReader一次读取一行,并在StringBuilder中构建字符串,在除最后一行之外的每行之后添加一个空格“'。 –

+0

@ShireResident是的,我同意。我将在答案中包括这一点。谢谢。 –