简单行替换在Java中不起作用
我在名为Sample.txt的文本文件中保存了以下内容简单行替换在Java中不起作用,java,Java,我在名为Sample.txt的文本文件中保存了以下内容 This is line1 This is line2 在这里,我想用,我的意思是,输出应该是 This is line1 and This is line2 我的代码如下 BufferedReader br=null try { String sCurrentLine; br = new BufferedReader(new FileReader("C:\\Users\\home\\Desktop\\Test\\S
This is line1
This is line2
在这里,我想用,我的意思是,输出应该是
This is line1 and This is line2
我的代码如下
BufferedReader br=null
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\\Users\\home\\Desktop\\Test\\Sample.txt"));
int i = 0;
while ((sCurrentLine = br.readLine()) != null) {
String sCurrentLine1 = sCurrentLine.replaceAll("\\n+", "0NL0");
System.out.println("Line No." + i + " " + sCurrentLine1);
i++;
}
当我打印这个时,我得到的输出是
Line No.0 This is line1
Line No.1 This is line2
请告诉我如何更换这条新线路
谢谢你试试这个
String str = "";
while ((sCurrentLine = br.readLine()) != null) {
String sCurrentLine1 = sCurrentLine.replaceAll("\\n+", "0NL0");
str = str + sCurrentLine1 + " and ";
}
System.out.println(str.substring(0,(str.length()-5)));
希望它能帮助您。您不需要执行
replaceAll
方法BufferedReader::readLine()
从sCurrentLine
中返回的字符串中删除\n
字符。因此,您所要做的就是附加返回的行
例如:
try {
String sCurrentLine;
StringBuilder sb = new StringBuilder();// Declare a string builder object.
br = new BufferedReader(new FileReader("C:\\Users\\home\\Desktop\\Test\\Sample.txt"));
int i = 0;
while ((sCurrentLine = br.readLine()) != null) {
if(i>0) {
sb.append(" and ");
}
sb.append(sCurrentLine);
System.out.println("Line No." + i + " " + sCurrentLine);
i++;
}
System.out.println("Appended output " + sb.toString());
根据定义,
readLine()
读取单行,不包含结尾的换行符。您的替换问题是否不起作用(因此无法在结果中看到0NL0
),或者您只是希望输出全部在一行中?对于后者,请使用print
而不是println
Hi Friend,这很好,但第一个结果是空打印,然后是实际结果<代码>空这是第1行,这是第2行