我正在编写一个简单的程序来跟踪我的油耗。我试图找出换行符未输出的原因 到文件,但其他字段是。
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
答案 0 :(得分:-1)
换行符与平台有关,在您的平台上很可能是\r\n
。您可以使用printf
将%n
特殊字符转换为平台中正确的换行符来避免此问题。作为副作用,它还可以帮助清理代码并避免所有字符串连接:
fuelLog.printf("Miles on trip: %s%n" +
"Cost: $%s%n" +
"Gallons used: %s%n", miles, dollars, gallons);