# Dateiinhalt kopieren



## Schaaaf (26. Jul 2010)

Hallo,

ich habe eine , wie ich denke, Anfängerfrage :

Ich lese eine Datei a.txt ein und möchte nun von Zeile x -y diese Datei in eine neue b.txt Datei kopieren. Wie realisiere ich das. Habe schon angefangen, aber es klappt wohl nicht so, wie ich dachte. Hier mein Code.

```
public static void DateiBearbeiten() throws IOException
{...
                            while (lineCounter < (anz-1))   //anz : Anzahl der Gesamtzeilen der Datei a.txt
	               {
	            	   line = reader.readLine();  //line : ist public
	            	   lineCounter++;
	            	   InNeueDateiKopieren();
	               }
...}

public static void InNeueDateiKopieren() throws IOException 
	{
		String Kopie = "D:/b.txt"; 
		FileWriter ausgabestrom = new FileWriter(Kopie);
		ausgabestrom.write(line);		
		ausgabestrom.close();
	}
```

Was mache ich falsch?


----------



## JohannisderKaeufer (26. Jul 2010)

```
String Kopie = "D:/b.txt"; 
FileWriter ausgabestrom = new FileWriter(Kopie);
```

Mit diesen beiden Zeilen erzeugst du deine Datei immer neu, bzw. überschreibst mit jeder Zeile eine zuvor geschriebene Zeile.

Zudem vermute ich das mit readLine kein Zeilenumbruch zu dem String hinzugefügt wird.


```
public static void DateiBearbeiten() throws IOException
{...

FileWriter ausgabestrom = new FileWriter("D:\\b.txt");

                            while (lineCounter < (anz-1))   //anz : Anzahl der Gesamtzeilen der Datei a.txt
                   {
                       String line = reader.readLine();  //line wird local
                       lineCounter++;

                      ausgabestrom.write(line);
                      ausgabestrom.write("\n"); //Zeilenumbruch

                   }

                   ausgabestrom.close();

...}
```

Ansonsten Fehlermeldung posten und was genau passiert.
Am besten das ganze als ein KSKB.


----------



## Schaaaf (8. Aug 2010)

Danke schön. Funktioniert erstmal ganz gut, aber irgendwie schreibt er die Daten nicht zu Ende. Er hört einfach mittendrin auf. Woran kann das liegen?


----------



## XHelp (9. Aug 2010)

Poste mal mehr von dem Code


----------



## Schaaaf (9. Aug 2010)

Habe den Fehler entdeckt. Habe vergessen/übersehen

```
ausgabestrom.close()
```
mit zu übernehmen...

Danke.


----------

