我有一个文本文件,如下所示:
thiasisatest("test1",
"test2",
"test3",
"test4",
"test5");
我想要实现的输出是:
thiasisatest("test1", "test2", "test3", "test4", "test5");
我的代码如下所示:
import java.io.*;
public class IoTest {
public static void main(String[] args) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("/Applications/textfile.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine.trim().replace("\n", ""));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
我正在读取该行并替换while循环中的所有行,但是当我尝试打印字符串时,输出不会改变并且行仍然存在。
我做错了什么?
感谢您的帮助
答案 0 :(得分:1)
System.out.println
终止该行,这就是你获得多行的原因。
答案 1 :(得分:1)
你实际上不需要更换线路;因为你在技术上是逐行回忆的。
您需要做的就是创建一个StringBuilder,您可以从缓冲读取器中追加每一行。
您的代码应如下所示
String sCurrentLine;
StringBuilder builder = new StringBuilder();
while ((sCurrentLine = br.readLine()) != null){
builder.append(sCurrentLine);
}
您现在可以将“构建器”的内容输出到另一个文件。