2016-04-26 7 views
0

Ich mag neue customer und neue LinieBruchlinien für jeden neuen Satz von Daten

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

ich diese Zeilen Code verwenden, aber meine Ausgabe in Datei ist alles auf einer Linie ist, ich will Linie brechen .

bw.write(line + "\n"); 
    } 

Bitte ändern Sie den Code.

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(); 
    } 
    } 

Antwort

0

Wie pro Quelle von Java herenewLine() Verfahren vorgesehen ist, die die Plattform des eigenen Begriff der Linie verwendet Trennzeichen wie in der Systemeigenschaft line.separator definiert. Nicht alle Plattformen verwenden das Zeilenumbruchzeichen ('\ n'), um Zeilen zu terminieren. Das Aufrufen dieser Methode zum Beenden jeder Ausgabeleitung wird daher dem Schreiben eines Zeilenvorschubzeichens direkt

vorgezogen, versuchen Sie diesen Code.

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

und

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

statt bw.write(line + "\n");

Verwandte Themen