Lesen und Schreiben von Dateien in Java

student26

Mitglied
Hallo Leute,
ich habe eine Aufgabe zu lösen. Ich habe sie fertiggemacht, aber ich weiß nicht, ob das jetzt richtig ist. Kann mir jemand weiterhelfen?


Aufgabe: Wir haben als Datenquelle eine xml- Datei, die eine Zitatsammlung enthält. Wir möchten mit Hilfe der .xml- Datei, eine Datei mit Zitaten erstellen, die jedes Zitat in Anführungszeichen gefolgt von dem Namen der Person und der Beschreibung in einer neuen Zeile enthält.
Die allgemeinen Ein- und Ausgabeströme sind System.out für die Standardausgabe, System.in für die Standardeingabe, die Tastatur und System.err für Fehlermeldungen.
System.err hängt vom Rechner und Betriebssystem ab und ist meistens auch der Bildschirm, kann aber auf einen Drucker oder in eine Log-Datei umgeleitet sein.
in, err und out sind Attribute der Klasse System und vom Typ InputStream bzw. PrintStream.
Zum Lesen und Schreiben einer Datei kann man kein Systemdatenstrom benutzen, sondern sich einen Datenstrom definieren.

Zeile für Zeile aus der Datei einlesen, nach den Tags suchen und extrahieren den Inhalt aus dieser Zeile. Dazu kann man eine Methode codieren, der man die Zeile und den Namen des Tags übergeben. Diese gibt dann den Substring aus der Zeile zurück.
Zuweisen einer Variablen "name", einer Variablen "beschreibung" und einer Variablen "zitat".
Die Methode readLine() erzeugt IOExceptions. Fange diese ab und gebe ggf. eine Fehlermeldung aus.

[JAVA=42]import java.io.*;

class Versuch7{

public static void main(String args[]){

try {

BufferedReader buffRead = new BufferedReader(new FileReader("gesamt.xml"));
PrintWriter printWrit = new PrintWriter(new FileWriter ("Daten.txt"));

String name=null;
String beschreibung=null;
String zitat=null;
String zeile=null;



while((zeile = buffRead.readLine()) != null) {

if(zeile.contains("<zitat>")) {
zitat=zeile.substring(11,(zeile.length()-8));

printWrit.println("\""+zitat+"\"");
printWrit.println(name+", "+beschreibung);
printWrit.println();
}

if(zeile.contains("<name>")) {
name=zeile.substring(10,(zeile.length()-7));
}


if(zeile.contains("<beschreibung>")) {
beschreibung=zeile.substring(18,(zeile.length()-15));

}


}


printWrit.close();

buffRead.close();
}
catch (IOException e){
System.out.println("Fehler beim Einlesen der Datei!");
}

}

}



[/code]
 
Zuletzt bearbeitet:

AmunRa

Gesperrter Benutzer
Hast du eine konkrete Frage?

In deinem Catch block hast du zwar eine Ausgabe , dass ein Fehler passiert ist, aber nicht welcher. Dies solltest du zumindest ändern.


Das Auslesen des Zitates solltest du meiner Meinung nach laut Aufgabenstellung in einer eigenen Methode machen und nicht direkt in der Main
 
Zuletzt bearbeitet:

student26

Mitglied
kannst du mir sagen, was ich genau machen muss. ich habe es jetzt nicht verstanden.
Ich weiß nicht, was du meinst.
 
Zuletzt bearbeitet:

AmunRa

Gesperrter Benutzer
Java:
catch(Exception e){

System.out.println(e.toString);
}
z.B.

und:

Dazu kann man eine Methode codieren, der man die Zeile und den Namen des Tags übergeben.

also sollteste du eine Methode schreiben:

Java:
public static String parseLine(String line, String tagname){
//dies musst du nun selbst richtig füllen
}
 

Marco13

Top Contributor
Was das nun soll? XML Zeilenweise lesen ist doch ein Krampf :noe: Die Zeilen können ja
<zitat>bla</zitat>
oder
nur
<zitat>
sein, oder sonstwie... man braucht schon den ganzen Text. Apropos: Ein Beispiel (ggf. Ausschnitt) aus so einer Eingabedatei könnte helfen.
 

Marco13

Top Contributor
Poste map die "gesamt.xml".

Kann man davon ausgehen, dass die Tags IMMER (IMMER) in einer Zeile stehen, wie
<name>Der Name</name>
und NIE so wie
Code:
<name>
    Der Name
</name>
oder so? (Andernfalls würde das Zeilenweise lesen noch überhaupt keineren Sinn machen, als so schon ???:L )
 

z-mon

Bekanntes Mitglied
Hilfeeeeeeeeee. Ich komm nicht weiter!!!!!!!! Ich muss das bis morgen haben.

Das sind mir immer die richtigen. Wahrscheinlich acht Wochen für Zeit gehabt und 8 Stunden vorher wird mit der Aufgabe angefangen zu arbeiten.

Aber um dir vielleicht noch etwas auf die Sprünge zu helfen:
- die vorhandene Datei in ein File Objekt einlesenund mit einem Scanner durchlaufen
- mit startsWith() den Zeilenanfang abfragen und die Position merken
- Start der nächsthöheren Position bis zur der Position am Ende (endsWith()) in deine Datei schreiben
- Fertig

Viel Erfolg morgen
 
Zuletzt bearbeitet:

AmunRa

Gesperrter Benutzer
@Student26

poste mal wieder deinen Code so wie du Ihn jetzt hast und lad auch mal eine deiner Datein hoch die du lesen musst, so dass wir sehen was genau deine Aufgabe ist.



Weiters solltest du einmal schreiben wo nun aktuell deine Probleme sind, welche Fehlermedungen du bekommst (eine Meldung ala ich hab da einen Felher oder es funktioniert nicht sind dann nicht sehr hilfreich. Poste den StackTrace)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
M Dateien lesen/schreiben und Heap Space Probleme Java Basics - Anfänger-Themen 8
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
A JSON Lesen und Schreiben. Java Basics - Anfänger-Themen 3
amazinglife77 Input/Output Lesen/Schreiben Properties: in eclipse geht, als JAR nicht Java Basics - Anfänger-Themen 4
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
J Per I/O Streams in LinkedList oder ArrayList schreiben/lesen Java Basics - Anfänger-Themen 6
A XML schreiben - lesen Java Basics - Anfänger-Themen 19
E txt Datei schreiben und lesen Java Basics - Anfänger-Themen 9
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
D Textfile lesen/schreiben abhängig vom inhalt Java Basics - Anfänger-Themen 6
F Unicode beim Lesen und Schreiben per java.io.* Java Basics - Anfänger-Themen 9
A Datei Lesen und Schreiben in gleichen Klasse Java Basics - Anfänger-Themen 3
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
J Problem mit Datei lesen und schreiben Java Basics - Anfänger-Themen 8
M Datei Lesen Und Schreiben! -.- Java Basics - Anfänger-Themen 7
C Ist gleichzeitiges Lesen und Schreiben einer ArrayList möglich Java Basics - Anfänger-Themen 2
R Daten aus Datenbank lesen, verarbeiten und schreiben. Java Basics - Anfänger-Themen 1
R Sequentielle Datei lesen und schreiben Java Basics - Anfänger-Themen 5
V Performance Lesen und Schreiben aus/in Streams Java Basics - Anfänger-Themen 4
mwildam Textfile lesen und schreiben - so viele Möglichkeiten Java Basics - Anfänger-Themen 5
C lesen und schreiben Java Basics - Anfänger-Themen 24
M Textboxen lesen und schreiben! Java Basics - Anfänger-Themen 3
T gezieltes lesen/schreiben in datei Java Basics - Anfänger-Themen 9
M lesen und schreiben aus Programm Java Basics - Anfänger-Themen 6
H Datei lesen und an bestimmter Stelle schreiben Java Basics - Anfänger-Themen 4
I Bits lesen und schreiben Java Basics - Anfänger-Themen 6
J Datei-Details /-Infos wie Kommentare, Autor lesen/schreiben Java Basics - Anfänger-Themen 2
B Datei lesen und schreiben Java Basics - Anfänger-Themen 2
R Datei erzeugen schreiben und lesen ? Java Basics - Anfänger-Themen 18
S Textdatei lesen und schreiben Java Basics - Anfänger-Themen 2
N Mehrzeilig aus Datein lesen und schreiben Java Basics - Anfänger-Themen 8
M Linked List schreiben und lesen Java Basics - Anfänger-Themen 4
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
W Timestamp lesen Java Basics - Anfänger-Themen 6
F MS365 Kalender lesen Java Basics - Anfänger-Themen 5
Robin Gentele XML von Webserver lesen und ausgeben Java Basics - Anfänger-Themen 5
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
C Fehlermeldungen lesen Java Basics - Anfänger-Themen 2
S Allgemeine Java Codes lesen und verstehen Java Basics - Anfänger-Themen 7
rafi072001 Lesen aus einem Excel File Java Basics - Anfänger-Themen 10
T Klassen Den Wert aus Array lesen lassen Java Basics - Anfänger-Themen 12
S Java Array Länge aus anderer Klasse lesen Java Basics - Anfänger-Themen 1
G Excle datei aus resources folder finden und lesen Java Basics - Anfänger-Themen 5
J Datei aus Projektfolder lesen Java Basics - Anfänger-Themen 12
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
S Tastatur input lesen Java Basics - Anfänger-Themen 7
S Mit FileReader lesen, in ArrayList speichern Java Basics - Anfänger-Themen 4
B Aus Datei lesen Java Basics - Anfänger-Themen 23
B Aus Datei lesen Java Basics - Anfänger-Themen 0
deatzi Wert aus anderer Klasse lesen Java Basics - Anfänger-Themen 7
W Wie lasse ich meine Ausgabe nach dem Lesen verschwinden ? Java Basics - Anfänger-Themen 1
S Daten lesen und speichern Java Basics - Anfänger-Themen 26
C Input/Output Datei aus Startverzeichnis lesen Java Basics - Anfänger-Themen 6
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
sourcecorn Werte aus einem File lesen Java Basics - Anfänger-Themen 6
G Jar-Archiv zum Lesen einer Konfigurationsdatei Java Basics - Anfänger-Themen 9
MaxG. Input/Output Datei lesen Java Basics - Anfänger-Themen 3
Hacer Quellcode lesen Java Basics - Anfänger-Themen 13
H Aus wav-datei lesen und in neue wav-datei speichern Java Basics - Anfänger-Themen 10
N Lesen eines files mit FILES.lines Java Basics - Anfänger-Themen 11
A Private Attribut aus fremder Klasse lesen ? Java Basics - Anfänger-Themen 19
R Ab einer bestimmten Zeile lesen Java Basics - Anfänger-Themen 3
P vokale konsonanten ziffern satzzeichen aus string lesen. hab kiene ahnung Java Basics - Anfänger-Themen 10
A textfeldwerte aus array lesen Java Basics - Anfänger-Themen 27
K Classpath Lesen von Property-File Java Basics - Anfänger-Themen 1
D Methoden Array aus Datei lesen und weitergeben? Java Basics - Anfänger-Themen 7
T 'Nix' aus Textdokument lesen Java Basics - Anfänger-Themen 11
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
E lesen csv file column by column Java Basics - Anfänger-Themen 10
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
K Dateien lesen | IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
E Input/Output Property-Datei aus einer Zip lesen in in einer anderen Zip-Datei ist Java Basics - Anfänger-Themen 3
B Input/Output Scanner-Probleme bei String-Lesen Java Basics - Anfänger-Themen 3
I Properties oder Umgebungsvariablen mit ${irgendwas} lesen? Java Basics - Anfänger-Themen 2
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
G Zeile charweise lesen Java Basics - Anfänger-Themen 3
J Aus Datei lesen und ausgeben Java Basics - Anfänger-Themen 4
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
G Datei zeilenweise lesen Java Basics - Anfänger-Themen 19
M Wie sämtliche Schlüssel und Attibutwerte aus einer Propertie Datei lesen? Java Basics - Anfänger-Themen 3
S Compiler-Fehler jOpenDocument Kompelierfehler - ODS Datei lesen Java Basics - Anfänger-Themen 2
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
T BufferReader soll datei mehrmals lesen Java Basics - Anfänger-Themen 13
G Leere Zeile lesen Java Basics - Anfänger-Themen 12
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
S Datei aus JAR lesen. Java Basics - Anfänger-Themen 9
G Zeilenweise lesen Java Basics - Anfänger-Themen 17
C Mehrere Tasten beim KeyListener gleichzeitig lesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben