2016-04-26 9 views
0

私は新しい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"); 

新しい行をしたいが、ファイルの私の出力は、すべてが1行に、私はラインを壊したいです。

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

特定のプラットフォームherenewLine()方法が提供されていますセパレータはシステムプロパティline.separatorで定義されています。すべてのプラットフォームが改行文字( '\ n')を使用して行を終了するわけではありません。したがって、このメソッドを呼び出して各出力行を終了させることは、改行文字を直接書くことよりも優先します。

このコードを試してください。

bw.write(line); 
    bw.newLine(); 

if(!customerRecordPresentInFile) 
     { 
      bw.write(customerName + "-" + billAmountPayable); 
      bw.newLine(); 
     } 

代わりにbw.write(line + "\n");