Hallo!
Hiiiiilfeee - bin ziemlich verzweifelt.
Wie kann ich denn die Inhalte zweier Dateien hintereinander schreiben?
Die Ausgabe wird dann in eine weitere Datei geschrieben und soll folgendermassen aussehen
Inhalt erste Zeile von File1 + " " + Inhalt erste Zeile von File2
Inhalt zweite Zeile von File1 + …usw.
Ich programmiere noch nicht lange und weiß auch nicht wirklich, unter welchen Stichworten ich suchen könnte. Weiß jemand Rat?
Bin dankbar für jeden Hinweis.
Liebe Grüße, Gaby
Moin
Wie kann ich denn die Inhalte zweier Dateien hintereinander
schreiben?
Langsam, langsam,… kannst du 2 Dateien lesen ?
Stichworte wären:
- java.io.BufferedReader
- java.io.FileReader
- java.io.File
Die Ausgabe wird dann in eine weitere Datei geschrieben und
soll folgendermassen aussehen
Du brauchst also eine Zeile auf beiden Dateien ? readLine() aus BufferedReader liefert dir immer eine Zeile. Hol dir erstmal eine Zeile aus beiden Dateien. Zum Thema schreiben:
- java.io.BufferedWriter
- java.io.FileWriter
Bei BufferedWriter gibts die Methode write(String s). String’s kann man zusammenfügen, z.B. so:
string1 + " " + string2
Nach jeder Zeile kommt ein return. Dafür gibt’s newLine().
Am Ende wären da die Methode close(). Die gibt’s in BufferedReader und Writer. Man sollte sie auf alle 3 Ströme/Dateien anwenden. Beim Reader ist es nicht so extrem wichtig. Beim Writer aber schon.
(Lass mich raten: Uni 1. Semester, zum ersten mal programmieren und der Prof legt gleich mit dem OO-Konzept von java los ?)
cu
Moin
Wie kann ich denn die Inhalte zweier Dateien hintereinander
schreiben?
Langsam, langsam,… kannst du 2 Dateien lesen ?
Tja - da bin ich dann auch drauf gekommen
Stichworte wären:
- java.io.BufferedReader
- java.io.FileReader
- java.io.File
Also - ich habe das jetzt getrickst - wenn man das so nennen kann. Ich hab die eine Datei in nen Vektor gestopft, ne Schleife drüber laufen lassen und pro Durchlauf die nächste Zeile der zweiten Datei eingelesen.
Ich hoffe den Spaghetti-Code schaut hinterher keiner mehr an. Denke mal, das ist nicht gerade die konventionelle Art und Weise.
Die Ausgabe wird dann in eine weitere Datei geschrieben und
soll folgendermassen aussehen
Du brauchst also eine Zeile auf beiden Dateien ? readLine()
aus BufferedReader liefert dir immer eine Zeile. Hol dir
erstmal eine Zeile aus beiden Dateien. Zum Thema schreiben:
- java.io.BufferedWriter
- java.io.FileWriter
Jo - die Ausgabe hab ich dann über nen FileWriter hinbekommen
Bei BufferedWriter gibts die Methode write(String s). String’s
kann man zusammenfügen, z.B. so:
string1 + " " + string2
Nach jeder Zeile kommt ein return. Dafür gibt’s newLine().
Am Ende wären da die Methode close(). Die gibt’s in
BufferedReader und Writer. Man sollte sie auf alle 3
Ströme/Dateien anwenden. Beim Reader ist es nicht so extrem
wichtig. Beim Writer aber schon.
(Lass mich raten: Uni 1. Semester, zum ersten mal
programmieren und der Prof legt gleich mit dem OO-Konzept von
java los ?)
Nein - viiiiiiiiiiiel schlimmer. Kurz vor dem Studienabschluss, für die Diplomarbeit zum ersten mal wirklich programmieren müssend, Abgabetermin näherrückend und als ich den Hilferuf schrieb echt kurz vor dem Heulkrampf stehend…
cu
Aber ich danke Dir sehr für Deine schnelle Antwort. Ehe ich aber den nächsten Panikanfall bekomme, versuche ich vorher mein Hirn einzuschalten.
Lieben Dank und noch einen schönen Abend! Gaby
Hallo,
Also - ich habe das jetzt getrickst - wenn man das so nennen
kann. Ich hab die eine Datei in nen Vektor gestopft, ne
Schleife drüber laufen lassen und pro Durchlauf die nächste
Zeile der zweiten Datei eingelesen. 
wozu denn der Vektor?
Du erzeugst einfach zwei FileReader, für jede der Eingabedateien einen. Dazu erzeugst du einen FileWriter für die Ausgabe.
Dann holst du in einer Schleife aus jeder Datei mit readln() jeweils eine Zeile, und schreibst sie mit writeln(Zeile1 + Zeile2) in die Ausgabe.
Gruß, Niels