我不确定为什么换行符并不会影响所打印的内容

时间:2018-03-18 16:36:05

标签: java eclipse newline filewriter

我正在编写一个简单的程序来跟踪我的油耗。我试图找出换行符未输出的原因 到文件,但其他字段是。

PrintWriter fuelLog = new PrintWriter(new FileWriter("FuelLog.txt", true));
fuelLog.println("New Trip");
miles = JOptionPane.showInputDialog("Please enter trip miles...");
dollars = JOptionPane.showInputDialog("Please enter cost to refuel...");
gallons = JOptionPane.showInputDialog("Enter the gallons used on the trip...");

fuelLog.println("Miles on trip: " + miles + "\n" + 
                "Cost: $" + dollars + "\n" + 
                "Gallons used: " + gallons);
fuelLog.close();

我文件的输出结果如下所示:

  

行程里程:270.67出售时间:$ 33.76加仑使用:11.567

我要查找的文件的所需输出是:

  

行程里程:270.67
  费用:33.76美元   加仑使用:11.567

1 个答案:

答案 0 :(得分:-1)

换行符与平台有关,在您的平台上很可能是\r\n。您可以使用printf%n特殊字符转换为平台中正确的换行符来避免此问题。作为副作用,它还可以帮助清理代码并避免所有字符串连接:

fuelLog.printf("Miles on trip: %s%n" + 
               "Cost: $%s%n" + 
               "Gallons used: %s%n", miles, dollars, gallons);