1

我想将一些数据写入文件,这是我的代码:

for (Season s : seasons) {
            if (s.getYear() >= start && s.getYear() <= end) {
                line += s.getYear() + ", " + s.getWinTeamName() + ", "
                        + s.getMinorPremiersTeam() + ", "
                        + s.getWoodenSpoonTeam()+ "\n"; }
}
System.out.println("File created.\n"); // Informing the user about
// the creation of the file.
out.write(line);
out.close();

我的文件已创建,但这就是我得到的:

2005, Wests Tigers, Parramatta, Newcastle2006, Broncos, Storm, Rabbitohs

但我希望它是:

2005, Wests Tigers, Parramatta, Newcastle
2006, Broncos, Storm, Rabbitohs

我认为在行变量末尾添加“\n”可以解决这个问题,但事实并非如此。

关于如何解决这个问题的任何建议?

4

3 回答 3

3

您需要使用系统特定的换行符分隔符。请参阅System.lineSeparator

于 2013-05-31T10:03:35.690 回答
1

如果您使用java.io.BufferedWriter,该.newLine()方法将插入适当的行分隔符。

for (Season s : seasons) 
{
   if (s.getYear() >= start && s.getYear() <= end)
   {
      String line = s.getYear() + ", " + s.getWinTeamName() + ", "
                        + s.getMinorPremiersTeam() + ", "
                        + s.getWoodenSpoonTeam();
      out.write(line);
      out.newLine();
   }
}
于 2013-05-31T10:19:29.540 回答
0
for (Season s : seasons) {
        if (s.getYear() >= start && s.getYear() <= end) {
            line += s.getYear() + ", " + s.getWinTeamName() + ", "
                    + s.getMinorPremiersTeam() + ", "
                    + s.getWoodenSpoonTeam()+ "\r\n"; }
}

System.out.println("File created.\n"); // Informing the user about
                                      // the creation of the file.
out.write(line);
out.close();
于 2013-05-31T11:06:13.680 回答