我想要新的customerName和新行
try
{
br = new BufferedReader(new FileReader(oldFileName));
bw = new BufferedWriter(new FileWriter(tmpFileName));
String line;
//bw.write("Customer Record: \r\n");
while ((line = br.readLine()) != null)
{
if (line.contains(customerName))
{
customerRecordPresentInFile = true;
line = line + "," + billAmountPayable;
}
//bw.write("\r\n");
我正在使用这行代码,但我在文件中的输出是一行都在一行,我想打破行。
bw.write(line + "\n");
}
请在代码中进行一些更改。
if(!customerRecordPresentInFile)
{
bw.write(customerName + "-" + billAmountPayable + "\n");
}
System.out.println("\nData file updated.");
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(br != null) { br.close(); }
if(bw != null) { bw.close(); }
}
catch (IOException e)
{
e.printStackTrace();
}
}
答案 0 :(得分:0)
尝试使用newLine()方法
https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html#newLine()
\n
是特定于平台的
答案 1 :(得分:0)
根据Java here newLine()
方法的来源,它使用平台自己的行分隔符概念,由系统属性line.separator定义。并非所有平台都使用换行符('\ n')来终止行。因此,调用此方法终止每个输出行比直接编写换行符
试试这段代码。
bw.write(line);
bw.newLine();
和
if(!customerRecordPresentInFile)
{
bw.write(customerName + "-" + billAmountPayable);
bw.newLine();
}
而不是bw.write(line + "\n");