BufferedWriter.newLine() 最后一行之后除外
BufferedWriter.newLine() except after the last line
我对此一片空白。我面临的问题是我不想在最后一行写入新文件后创建 newLine()
。我怎样才能做到这一点?
while (((aLine = reader.readLine()) != null)) {
writer.write(aLine);
writer.newLine();
}
因为你看不到未来,你必须依靠过去:不是在最后一行之后发出换行符,而是在除第一行之外的所有行之前发出它:
bool first=true;
while (((aLine = reader.readLine()) != null)) {
if(!first)writer.newLine();
else first=false;
writer.write(aLine);
}
boolean flag = false;
while (((aLine = reader.readLine()) != null)) {
if(flag)
writer.newLine();
writer.write(aLine);
flag = true;
}
作为现有答案的细微变化(建议先写换行符):
String separator = "";
while (((aLine = reader.readLine()) != null)) {
writer.write(separator);
writer.write(aLine);
separator = System.lineSeparator();
}
我对此一片空白。我面临的问题是我不想在最后一行写入新文件后创建 newLine()
。我怎样才能做到这一点?
while (((aLine = reader.readLine()) != null)) {
writer.write(aLine);
writer.newLine();
}
因为你看不到未来,你必须依靠过去:不是在最后一行之后发出换行符,而是在除第一行之外的所有行之前发出它:
bool first=true;
while (((aLine = reader.readLine()) != null)) {
if(!first)writer.newLine();
else first=false;
writer.write(aLine);
}
boolean flag = false;
while (((aLine = reader.readLine()) != null)) {
if(flag)
writer.newLine();
writer.write(aLine);
flag = true;
}
作为现有答案的细微变化(建议先写换行符):
String separator = "";
while (((aLine = reader.readLine()) != null)) {
writer.write(separator);
writer.write(aLine);
separator = System.lineSeparator();
}