Datei öffnen, lesen, bearbeiten, in neuer datei speichern

Status
Nicht offen für weitere Antworten.

KimKaze

Aktives Mitglied
Hi,

ich habe das Problem, dass ich es nicht schaffe eine Datei einzulesen die zu verändern und das ganze dann in einer neuen Datei zu speichern.

Ich habe versucht das ganze aus "Java ist auch eine Insel" und "Jetzt lerne ich Java" zu verstehen komme aber noch nicht ganz dahinter... kann mir da jemand ein wenig hilfestellung geben...


Ich würde gerne einfach nur aus der Datei "anfang.txt" die erste Zeile einlesen, verändern, und dann in die Datei "ende.txt" speichern. dann das ganze mit der 2ten Zeile usw....

Ich erwarte nicht jemand den Code postet mit dem kommentar "da bitte" ich würde die sache gerne verstehen, oder kennt jemand weitere gute Hilfeseiten in denen das etwas genauer erklärt wird?.


Gruß
Andi
 
S

SlaterB

Gast
also man schlägt so ein Buch auf, findet fertigen Code wie
Listing 12.14 com/javatutor/insel/io/stream/FileReaderDemo.java, main()
in
http://www.galileocomputing.de/openbook/javainsel6/javainsel_12_003.htm

und Erklärungen dazu, was will man mehr?
wieso nun das ganze zum x-ten Mal erklären wenn du andere gute Erlärungen offensichtlich genauso wenig verstehst?

da macht es doch nur Sinn, den Spieß umzudrehen:
was genau verstehst du daran nicht?!,

File erstellen?, Reader erstellen?, einzelnes Zeichen oder ganze Zeile lesen?
oder klappt gar das Einlesen und nun gehts dir um das Speichern?

beschreibe doch millimetergenau, was das Problem ist??
 

KimKaze

Aktives Mitglied
Die Datei einlesen mit

Code:
import java.io.*;

public class ZweiteÜbung {

	public static void main(String[] args) throws IOException {
		
		FileReader eingabestrom = new FileReader("ZweiteUebungDatei.txt");
		int gelesen;
		StringBuffer text = new StringBuffer(10);
		boolean ende = false;
		while(!ende){
			gelesen = eingabestrom.read();
			if (gelesen == -1)
				ende = true;
			else 
			text.append((char)gelsen);
		}
                System.out.println(text);
     } // Ende static void main

} // Ende class ZweiteÜbung

ist nicht das Problem...

Auch das ganze in einer Datei ausgeben, mit

Code:
import java.io.*;

public class ZweiteÜbung {

	public static void main(String[] args) throws IOException {
             File datei = new File("Test.txt");
             FileWriter ausgabestrom = new FileWriter(datei);
             PrintWriter ausgabe = new PrintWriter(ausgabestrom);
             ausgabe.println("bla bla bla schrei in die datei");
             ausgabe.close();

     } // Ende static void main

} // Ende class ZweiteÜbung
ist nicht das Problem.. aber wie schaff ich es dass ich z.B. die erste Zeile aus der anfangsdatei einlese. komplett umdrehe und in einer enddatei wieder ausgebe.

Sprich in Anfangs.txt steht
hallo duda
wie gehts dir

in der End.txt soll dann stehen
adud ollah
rid stehg eiw

das schaff ich einfach nicht.. [/code]
 
S

SlaterB

Gast
na das ist doch mal ne Info

verwende auch jeden Fall einen BufferedReader :
BufferedReader b = new new BufferedReader(eingabestrom);

dann bekommst du mit b.readLine() eine ganze Zeile als String und musst dich nicht unbedingt um StringBuffer kümmern
(Dateiende: zeile ist null)

und außerdem musst du Reader + Writer gleichzeitig offen haben,
in der Schleife dann:
eine Zeile lesen, bearbeiten, schreiben

am Ende beide closen, auch den Reader,
 
M

Michael...

Gast
Also ist das umdrehen des Strings Dein Problem.
Man könnte einfach von hinten beginnend mittels charAt() den String in der Schleife durchlaufen. Mit dem PrintWriter kann man dann die chars in die neue Datei schreiben.

Eventuell gibt's da auch was performanteres.
 

KimKaze

Aktives Mitglied
den String umdrehen würde ich einfach mit ner for-schleife.

Code:
import java.io.*;

public class ZweiteÜbung {

	public static void main(String[] args) throws IOException {
		String sZeile;
		try {
			FileReader eingabestrom = new FileReader("anfangs.txt");
			BufferedReader b = new BufferedReader(eingabestrom);
			sZeile = b.readLine();     // eine zeile nach der anderen einlesen ????
			File datei = new File("end.txt");
            FileWriter ausgabestrom = new FileWriter(datei);
            PrintWriter ausgabe = new PrintWriter(ausgabestrom);


			for (int i = length(sZeile); i >= 0; i-- ){
				ausgabe.println(char[i]); // Zeichen an der Stelle i in neue datei ausgeben ???
			} // Ende for-schleife


		} // ende von try
		catch(FileNotFoundException e){
			System.out.println("Datei nicht gefunden!");
		} // ende von catch

		ausgabe.close();
		b.close();
				
	} // Ende static void main

} // Ende class ZweiteÜbung

aber das stimmt alles noch nicht so.. gibt noch viele fragezeichen.. wo seht ihr ja...
 
S

SlaterB

Gast
das Einlsen muss einer Schleife passieren, so wie du es anfangs mit
while(!ende){
}
hattest, das war schon gut,
nur eben innen drin ganze Zeilen auslesen statt einzelner Chars

die Ausgabe dann nicht für jeden Buchstaben einzeln,
sondern den gesammten String auf einmal schreiben,

wenn du die Zeichen umdrehen willst, dann mache das davor,
baue dir einen String Zeichen für Zeichen umgedreht auf,
aber dann den fertigen String schreiben
 

KimKaze

Aktives Mitglied
so weit so gut ?
Code:
import java.io.*;

public class ZweiteÜbung {

	public static void main(String[] args) throws IOException {
		String sZeileEinlesen;
		String sZeileAusgeben;
		int iGelesen;
		try {
			FileReader eingabestrom = new FileReader("anfangs.txt");
			BufferedReader b = new BufferedReader(eingabestrom);			
			boolean ende = false;
		    while(!ende){
		    	sZeileEinlesen = b.readLine();
		        if (iGelesen == -1){
		            ende = true;
		        	} // ende von then
		        else {
		        	File datei = new File("end.txt");
		        	FileWriter ausgabestrom = new FileWriter(datei);
		        	PrintWriter ausgabe = new PrintWriter(ausgabestrom);
		        		for (int i = length(sZeileEinlesen); i >= 0; i-- ){
		        				sZeileAusgeben = sZeileAusgeben + (char[i]); 

//   er soll an sZeileAusgeben das aktuelle Zeichen an der Stelle [i] anhängen????? 
//   wie genau geht das ? length(sZeileEinlesen) gibt es so nicht wie sieht der befehl aus?????

		        		} // ende for-schleife
		        	ausgabe.println(sZeileAusgeben);	
		        } // ende von else	
		    } // ende von while (!ende)
		} // ende von try
		catch(FileNotFoundException e){
			ausgabe.println("Datei nicht gefunden!");
		} // ende von catch
		ausgabe.close();
		b.close();
	} // ende static void main

} // ende class ZweiteÜbung

er soll an sZeileAusgeben das aktuelle Zeichen an der Stelle anhängen?????
wie genau geht das ? length(sZeileEinlesen) gibt es so nicht wie sieht der befehl aus?????
 
S

SlaterB

Gast
if (iGelesen == -1){
musst du nun durch
if (sZeileEinlesen == null){
ersetzen

den PrintWriter nur einmal VOR der Schleife definieren,

sZeileAusgeben musst du in jedem Schleifendurchlaufen wieder auf "" setzen
und dann string.charAt(i), string.length()

API?
 

KimKaze

Aktives Mitglied
Code:
import java.io.*;

public class ZweiteÜbung {

	public static void main(String[] args) throws IOException {
		String sZeileEinlesen;
		String sZeileAusgeben;
    	File datei = new File("end.txt");
    	FileWriter ausgabestrom = new FileWriter(datei);
    	PrintWriter ausgabe = new PrintWriter(ausgabestrom);
		try {
			FileReader eingabestrom = new FileReader("anfangs.txt");
			BufferedReader b = new BufferedReader(eingabestrom);			
			boolean ende = false;
		    while(!ende){
		    	sZeileAusgeben = ("");
		    	sZeileEinlesen = ("");
		    	sZeileEinlesen = b.readLine();
		        if (sZeileEinlesen == null){
		            ende = true;
		        	} // ende von then
		        else {
		        		for (int i = length(sZeileEinlesen); i >= 0; i-- ){
		        				sZeileAusgeben = (sZeileAusgeben + sZeileEinlesen.charAt(i)); 
		        		} // ende for-schleife
		        	ausgabe.println(sZeileAusgeben);	
		        } // ende von else	
		    } // ende von while (!ende)
		    b.close();
		} // ende von try
		catch(FileNotFoundException e){
			ausgabe.println("Datei nicht gefunden!");
		} // ende von catch
		ausgabe.close();
	} // ende static void main

} // ende class ZweiteÜbung

length(sZeileEinlesen) makelt er noch rot an.. da such ich gerade noch nach einem befehl zu...
 
S

SlaterB

Gast
string.length()

habe ich zwar im Posting davor erst später reineditiert, aber nur Sekunden später.. ;)

---------
sZeileAusgeben = ("");
??
->
sZeileAusgeben = "";



sZeileEinlesen = ("");
sZeileEinlesen = b.readLine();
??
->
sZeileEinlesen = b.readLine();

-----

wenn du einen String der Länge 2 hast,
dann ist es schlecht, auf drei Positionen zuzugreifen: Index 2, 1 und 0,
das wird nicht klappen

-------

wieso fängst du FileNotFoundException ab, aber nicht IOException?
wieso b.close() im try/catch, das andere close() außerhalb?
 

KimKaze

Aktives Mitglied
also erstens hammer ich die ganze zeit auf F5 zum aktualisieren und habe daher die änderung noch nicht gesehen aber mich schon ein wenig gewundert..

aber das der string die länge 2 hat und er aber dann 3 durchläufe machen würde lässt sich einfach mit
Code:
i = (length(sZeileEinlesen) -1)
mein problem ist aber das es den befehl length() nicht gibt oder bei mir auf jeden fall angemakelt wird..
The method length(String) is undefined for the type ZweiteÜbung
 

KimKaze

Aktives Mitglied
ach ich depp is natürlich sEingabeZeile.length.. haett ich ja mal drauf kommen können...klappt jetzt auf jeden fall...
danke für di super hilfe !!! :D :shock:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Klassen .class Datei öffnen Java Basics - Anfänger-Themen 31
E Warum kann ich meine jar-Datei nicht öffnen Java Basics - Anfänger-Themen 20
WetWer Custom Datei Endung öffnen Java Basics - Anfänger-Themen 1
N Datei mit Wildcard öffnen Java Basics - Anfänger-Themen 2
Tacofan JAR-Datei öffnen Java Basics - Anfänger-Themen 4
T eclipse runnablejar Datei fehler bei öffnen Java Basics - Anfänger-Themen 0
P Barcodescannen und Datei im Programm öffnen Java Basics - Anfänger-Themen 6
S Erste Schritte Sprachermittler - Datei öffnen, Text in TextArea, Bereinigen, Auswerten Java Basics - Anfänger-Themen 14
P Datei extern öffnen Java Basics - Anfänger-Themen 0
J Methode um eine HTML-Datei zu öffnen Java Basics - Anfänger-Themen 10
S Input/Output Datei öffnen ? Java Basics - Anfänger-Themen 9
M Gespeicherte Datei öffnen Java Basics - Anfänger-Themen 8
H Text Datei öffnen Java Basics - Anfänger-Themen 7
K .jar Datei mit Doppelklick öffnen Java Basics - Anfänger-Themen 26
U neue Java-Datei öffnen Java Basics - Anfänger-Themen 10
F Input/Output Wie externe Datei NICHT mit dem Standardprogramm öffnen? Java Basics - Anfänger-Themen 3
Z In JList per Doppelklick eine Datei öffnen (z.B. ein PDF) Java Basics - Anfänger-Themen 16
U Java .txt datei öffnen Java Basics - Anfänger-Themen 3
H java programm per batch datei öffnen Java Basics - Anfänger-Themen 4
L Datei aus Java in anderem Programm öffnen Java Basics - Anfänger-Themen 23
D Matrix .bat datei erstellen und öffnen Java Basics - Anfänger-Themen 2
T Datei mit Excel öffnen Java Basics - Anfänger-Themen 2
Knizz Java-Datei über cmd öffnen Java Basics - Anfänger-Themen 29
M Datei mit Java für Programm öffnen Java Basics - Anfänger-Themen 10
A Txt-Datei aus Jar öffnen Java Basics - Anfänger-Themen 8
StickToFreak Datei öffnen - cmd.exe Java Basics - Anfänger-Themen 45
S FileChooser - Datei tatsächlich öffnen Java Basics - Anfänger-Themen 5
G Datei mit angegebenem Programm öffnen Java Basics - Anfänger-Themen 3
M Datei in Fenster öffnen Java Basics - Anfänger-Themen 6
B .txt Datei mit Editor öffnen Java Basics - Anfänger-Themen 8
W IE Instanz öffnen / Ausführbare Datei öffnen Java Basics - Anfänger-Themen 2
H .class Datei "öffnen" und Methode aufrufen Java Basics - Anfänger-Themen 7
G Datei in lokalem Programm öffnen Java Basics - Anfänger-Themen 15
M Datei öffnen - gibt's irgendeine Größen-Beschränkung? Java Basics - Anfänger-Themen 5
T öffnen einer Datei mit relativer Pfadangabe Java Basics - Anfänger-Themen 8
D Auf einem USB-Stick gespeicherte Text-Datei öffnen Java Basics - Anfänger-Themen 11
S Bild aus Jar-Datei öffnen Java Basics - Anfänger-Themen 7
J Datei benutzen/öffnen Java Basics - Anfänger-Themen 3
N Datei öffnen bis die datei existiert Java Basics - Anfänger-Themen 2
D PDF Datei öffnen Java Basics - Anfänger-Themen 10
G Hilfer zur einer Anwendung soll HTML Datei öffnen Java Basics - Anfänger-Themen 4
E "Datei öffnen"-Dialog Java Basics - Anfänger-Themen 2
S nicht bekannte Datei öffnen wie z.B. *.sql Java Basics - Anfänger-Themen 4
G Datei lokal öffnen Java Basics - Anfänger-Themen 5
G Programmaufruf bzw. Datei öffnen mit Java Java Basics - Anfänger-Themen 21
N jar Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
B Datei zum Bearbeiten mit externem Programm öffnen Java Basics - Anfänger-Themen 43
G Datei öffnen Java Basics - Anfänger-Themen 2
T Config File in Jar Datei öffnen Java Basics - Anfänger-Themen 1
W JAR - Datei öffnen und bearbeiten ! Java Basics - Anfänger-Themen 4
A datei öffnen Java Basics - Anfänger-Themen 4
J Datei öffnen und String durch einen anderen String ersetzen. Java Basics - Anfänger-Themen 15
D Html-Datei auf Festplatte öffnen Java Basics - Anfänger-Themen 4
bernd Warum kann man die kopierte Datei nicht öffnen? Java Basics - Anfänger-Themen 12
bernd Word-Datei öffnen Java Basics - Anfänger-Themen 41
4 HTML-Datei öffnen Java Basics - Anfänger-Themen 7
N asp Datei aus Java Programm öffnen Java Basics - Anfänger-Themen 2
W HTML Datei aus Applet in neuem Browserfenster öffnen Java Basics - Anfänger-Themen 5
B Datei öffnen , Datensätze auslesen und damit Rechnen ? Java Basics - Anfänger-Themen 2
I Jar-Datei mit java.exe öffnen Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
A exe Datei erstellen Java Basics - Anfänger-Themen 8
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
W Fehler in der Datei pom.xml Java Basics - Anfänger-Themen 19
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
D Jar Datei startet unter Linux nicht Java Basics - Anfänger-Themen 3
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
B von Java/Eclipse verwendete Datei existiert gar nicht? Java Basics - Anfänger-Themen 6
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
B Popups mit Klicksabfangen zumAusfüllen einer .ods Datei Java Basics - Anfänger-Themen 0
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
A CSV-Datei Verarbeiten Java Basics - Anfänger-Themen 8
D Downloadfortschritt von Datei über Google Drive API v3 Java Basics - Anfänger-Themen 10
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S In Datei schreiben in Java? Java Basics - Anfänger-Themen 1
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
sserio Txt Datei einlesen Java Basics - Anfänger-Themen 9
T Printwriter Datei nicht überschreiben Java Basics - Anfänger-Themen 10
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
M Text in Datei schreiben Java Basics - Anfänger-Themen 9
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
J int innerhalb einer Datei ändern Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben