BufferedWriter.newLine(),最后一行之后除外

时间:2018-10-29 13:16:54

标签: java bufferedwriter

我为此空白。我面临的问题是我不希望在将最后一行写入新文件后创建newLine()。我该怎么做?

while (((aLine = reader.readLine()) != null)) {
                writer.write(aLine);
                writer.newLine();
            }

3 个答案:

答案 0 :(得分:3)

因为看不到未来,所以必须依靠过去:不要在最后一行之后发出换行符,而应在除第一行之外的所有行之前发出换行符。

bool first=true;
while (((aLine = reader.readLine()) != null)) {
    if(!first)writer.newLine();
    else first=false;
    writer.write(aLine);
}

答案 1 :(得分:0)

boolean flag = false;
while (((aLine = reader.readLine()) != null)) {
    if(flag)
        writer.newLine();
    writer.write(aLine);
    flag = true;
}

答案 2 :(得分:0)

与现有答案略有不同(建议先编写换行符):

String separator = "";
while (((aLine = reader.readLine()) != null)) {
  writer.write(separator);
  writer.write(aLine);
  separator = System.lineSeparator();
}