簡體   English   中英

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM