lesen & schreiben

celloman

Erfahrenes Mitglied
Hallo Leut

ich möchte eine Datei lesen wit filereader tuts auch.sobalt ich es in eine andere Datei schreiben möchte mit filewriter verschieben sich die Zeilen zusammen.

hier mein Code

Was ist da nicht richtig.

Code:
import javax.swing.*; 
import java.io.*; 


public class test extends JFrame{ 
   public static void main(String[] args) throws IOException{ 
      String line; 
      String value = ""; 
      File f = new File("c:/test1.txt"); 
      BufferedReader source = new BufferedReader(new FileReader(f)); 

      while((line=source.readLine()) != null){ 
         value += line +""; 
      } 
       
      source.close(); 
       
 
       
      try{ 
         BufferedWriter f1= new BufferedWriter(new FileWriter("c://Datei2.txt")); 
         f1.write(value); 
         f1.close(); 
      } 
      catch(IOException e){ 
         System.out.println("Fehler beim Erstellen."); 
      } 
   } 
}
 
Mittels value += line +""; hängst Du die Zeilen ja auch direkt aneinander. Versuch's mal mit value += line + "\n"; :)
 
Oder statt "\n" kannst du auch Java fragen, was der Zeilenumbruch auf deinem Betriebssystem ist. Probier es einfach mal mit

Code:
System.getProperty( "line.separator" )

Gruß
Flo
 
Hallo Kollegen

Es klapt einfach nicht, die Zeilen werden immer zusammengeschoben.

Kann ich es nicht in ein Buffer schreiben und dort wieder direct i eine Datei schreiben

MFG:confused:
 
Hallo,

du brauchst doch nur die Tipps von matdacat und evtl. auch den von KaiserErnie beachten.

Dann gehts doch auch:
Code:
import javax.swing.*; 
import java.io.*; 


public class ReadWrite extends JFrame{ 
   public static void main(String[] args) throws IOException{ 
      String line; 
      String value = ""; 
      File f = new File("c:/test1.txt"); 
      BufferedReader source = new BufferedReader(new FileReader(f)); 
      String cr = System.getProperty( "line.separator" );

      while((line=source.readLine()) != null){ 
         value += line + cr; 
      } 
      source.close(); 
       
      try{ 
         BufferedWriter f1= new BufferedWriter(new FileWriter("c://Datei2.txt")); 
         f1.write(value); 
         f1.close(); 
      } 
      catch(IOException e){ 
         System.out.println("Fehler beim Erstellen."); 
      } 
   } 
}
 
Vielleicht liegt das Problem auch woanders. Vielleicht macht er den Zeilenumbruch ja mittlerweile und er zeigt ihn nur nicht mit an.

Was ich meine: Falls du die Datei mit dem Windows-Standardeditor bzw. Notepad öffnest, versuch es mal mit Wordpad. Irgendwie haben beide Programme andere Vorstellungen davon, was sie als Lineseperator durchgehen lassen :) Aber Wordpad macht's (glaub ich) immer richtig :)
 
Zurück