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是的,我同意。我会在答案中包括这一点。谢谢