每个新数据集的断行

时间:2016-04-26 05:27:59

标签: java

我想要新的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();
     }
  }

2 个答案:

答案 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");