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

Java读取多行文本文件,在最后一个字符后的每行末尾添加分隔符,java,text,readline,Java,Text,Readline,我有下面的文本文件。我一次读每一行,然后把整行字串成一条线。目前,我的代码只是逐行读取,不需要考虑任何空格 随机文本变为随机文本。有没有办法在行中最后一个字符后插入空格?我已经尝试了以下代码,但它不起作用 d=d.replaceAll(“\n”和“) Textfile.txt Text random text random numbers etc. This is a random text file. 读取中的行后,字符串中没有任何“\n”字符。所以,你需要做的是通过空间连接这些线。只需使用

我有下面的文本文件。我一次读每一行,然后把整行字串成一条线。目前,我的代码只是逐行读取,不需要考虑任何空格

随机文本
变为
随机文本
。有没有办法在行中最后一个字符后插入空格?我已经尝试了以下代码,但它不起作用

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);

读取中的行后,字符串中没有任何“\n”字符。所以,你需要做的是通过空间连接这些线。只需使用
String.join()

在Java 8中,您只需要:

File f = new File("your file path");
List<String> lines = Files.readAllLines(file.toPath());
String result = String.join(" ", lines);

显然有更好的方法,比如第一个答案。我建议使用Java8的另一种方法。这可能不是一个完美的解决方案——只是解决问题的另一种方法。我使用类似的块,如下所示:

InputStream is = this.getClass().getResourceAsStream(filename);
然后,构建一个
StringBuilder
,将文件内容提取为包含行的完整字符串

final StringBuilderWriter writer = new StringBuilderWriter();
    try {
        IOUtils.copy(is, writer, StandardCharsets.UTF_8);
    } catch (IOException e) {
        writer.append("exception", e));
    }
    return writer.toString();
然后,对上面返回的字符串应用
.split(\n)

此外,要迭代拆分字符串中的每一行,请执行以下操作:

Arrays.asList(string).split("\n"))

显然有更好的方法,比如第一个答案。我建议使用Java8的另一种方法。这可能不是一个完美的解决方案——只是解决问题的另一种方法。我使用类似的块,如下所示:

InputStream is = this.getClass().getResourceAsStream(filename);
然后,构建一个
StringBuilder
,将文件内容提取为包含行的完整字符串

final StringBuilderWriter writer = new StringBuilderWriter();
    try {
        IOUtils.copy(is, writer, StandardCharsets.UTF_8);
    } catch (IOException e) {
        writer.append("exception", e));
    }
    return writer.toString();
然后,对上面返回的字符串应用
.split(\n)

此外,要迭代拆分字符串中的每一行,请执行以下操作:

Arrays.asList(string).split("\n"))

如何读取行?如何读取行?如果文件中的行太多,最好使用BufferedReader一次读取一行,并在StringBuilder中生成字符串,在每行后面添加空格“”,最后一行除外。@ShireResident是的,我同意。我会在答案中包括这一点。谢谢。如果文件的行太多,最好使用BufferedReader一次读取一行,然后在StringBuilder中生成字符串,在每行后面添加空格“”,最后一行除外。@ShireResident是的,我同意。我会在答案中包括这一点。谢谢