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