Datei einlesen und ausgeben

Huhu,

soll für die Klausurbonuspunkteprojektarbeit für ein Memoryspiel ne Bestenliste schreiben und einlesen.
Memoryspiel ist fertig, Punktezähler ebenfalls, was fehlt ist die Bestenliste, da ich damit große Probleme habe. Das Ding will meine Datei net richtig auslesen :(

Hier mein Code:
Java:
import java.io.*;
import java.io.IOException;


public class Bestenliste {
	File bestenliste = new File ("Bestenliste.txt");
		
	
	public void namenEinfuegen(String name){
		try{
			FileWriter eintrag = new FileWriter(bestenliste);
			FileReader leser = new FileReader(bestenliste);
			eintrag.write("Bestenliste");
			eintrag.close();
		}
		catch(IOException e){
		}
	}
	public void auslesen(){
		try{
			FileWriter writer = new FileWriter(bestenliste);
			FileReader reader = new FileReader(bestenliste);

			writer.write("lalala aaah \r\n tada");
			writer.close();
			

			while(reader.read()!=-1){
				char help = (char) reader.read();
				System.out.print(help);

			}
			System.out.println();
		}
		catch(IOException e){
			
		}
	}
}
Ändere ich in Zeile 24 writer.write("lalala aaah \r\n tada"); zu writer.write("lalala aaah \n tada"); , wird "aaaaa aa" ausgegeben, sonst
"aaaaa
td?"
Möchte ich der Methode reader.read(); einen Index geben, so nimmt sie das nicht an.
Ich hoffe jemand kann mir helfen?
 
Zuletzt bearbeitet von einem Moderator:

Kevin94

Top Contributor
Hast du dir das Konstrukt zum einlesen mal gründlich angesehen. Ich denke das Sprichwort man sieht den Wald vor lauter Bäumen nicht triffts ziehmlich gut.
Java:
while(reader.read()!=-1){
                char help = (char) reader.read();
                System.out.print(help);
 
            }
In der Schleifenbedingung liest du ein Zeichen mit read ein, um zu überprüfen, ob die Datei noch etwas in der Datei steht, dieses Zeichen verwirfst du aber, d.h. du liest nur jedes zweite Zeichen. Richtig könnte man es z.B. so machen:
Java:
for(int i=reader.read();i!=-1;i=reader.read()){
                System.out.print((char)i);
            }

Alternativ und wesentlich einfacher wäre es, wenn man einen Scanner nutzt.
 
Es funktioniert! Vielen lieben Dank! :toll: Ich weiß nicht, ob wir den Scanner nutzen dürfen...

Das Problem ist einfach, ich hab die ganze File-Sache noch nicht richtig drauf... hab bereits im Java-Intensivkurs (marco Block) und Java ist auch eine Insel nachgelesen, aber beides ist nicht das, was ich suche... kennt irgendjemand ein Buch, dass das erklärt?
 
Ok, ein anderes Problem ist aufgetaucht:
Ich kann nur die Dinge auslesen, die ich innerhalb derselben Methode eingelesen habe. Das ist aber nicht Sinn der Sache :s
Ich kann FileWriter/Reader auch nicht ausserhalb der Methoden schreiben, da es da zu unhandled IOExceptions/unhandled FileNotFoundExceptions kommt, ich also nen Try-Catch-Block drumherum machen muss, was aber ausserhalb von Methoden nicht funktioniert.
 
S

Staubkörnchen

Gast
Dann müsste ich diese doch bei jedem Methodenaufruf neu in die Datei einschreiben, und das löst die Sache ja auch nicht...
 

Kevin94

Top Contributor
Klingt irgenwie logisch, dass man Datenänderungen speichern muss, wenn man will, dass Sie gespeichert werden. Du wirst nicht darum rumkommen, jedes mal, wenn sich in der Bestenliste etwas ändert zu speichern.
Das Programm macht das, was du hinschreibst, nicht das was du dir wünschst, dass es tut. Das ist eine der wichtigsten Weisheiten beim Programmieren.
 
S

SlaterB

Gast
was genau soll das Programm leisten? du kannst wie aus Computerspielen oder Texteditoren bekannt viel im Programm arbeiten
und dann manuell speichern, regelmäßig im Hintergrund speichern oder auch vielbekannte Verluste erleben, etwa bei Absturz,

du kannst bei jeder Programmeingabe speichern oder nicht, was immer dein Wunsch ist,

die Exceptions lassen sich verstecken,
wenn du eine Methode schreibe(String text) aufrufst, dann kann die beim Aufrufer ohne Probleme genutzt werden
und innerhalb der Methode wird der Text in Attributen abgelegt oder mit allen nötigen Exception-Gedöns in die Datei geschrieben,
 

Sephrox

Mitglied
Also ich mache das immer mit Buffern und Speicher Datensätze als serialisierte Objekte....
In deinem Fall würde ich dem Spielenden einen Nickname geben und eine Punktezahl und diese in ein Objekt speichern.

Z.b.:

Java:
public class Spieler implements Serializable {
       String username = "";
       int punkte = 0;

      public Spieler(String username, int punkte) {
      this.username = username;
      this.punkte = punkte;
     }
}
Getter und Setter müssen natürlich noch rein... also so ungefähr sieht das dann aus...

Dann könntest du in deinem File pro Zeile sozusagen ein Spieler Objekt speichern.
Und bei jedem Start des Programmes liest du alle Spieler in der Bestenliste ein...
Dann hast du alle Spieler mit allen Punkten in einer Liste. Nach jedem Spiel durchläufst du die Liste
und fragst ob einer nun mehr Punkte hat (Bester in Bestenliste). Falls das der Fall ist fügst du diesen
hinzu und speicherst das ganze wieder in der Datei ab.

Die Objektstreams kann ich dir jetzt nicht hinklatschen ist aber so ähnlich.

Ausm Kopf ist es dann ungefähr so: (Achtung kein richtiger Java Code)

FileWriter fw = new FileWriter(Bestenliste.txt);
ObjectOutputStream oos = new ObjectOutputStream(fw);
for(Spieler derspieler : Spielerliste) {
oos.writeObject(derspieler);
}

Beim lesen wäre es dann so ähnlich :) Hoffe es war verständlich und hilft :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
P csv Datei einlesen und ausgeben Java Basics - Anfänger-Themen 5
E Datei einlesen und bestimmte Wörter ausgeben Java Basics - Anfänger-Themen 2
S XML Datei einlesen und Elemente ausgeben Java Basics - Anfänger-Themen 4
L Datei einlesen und neu geändert ausgeben Java Basics - Anfänger-Themen 8
U PNG-Datei einlesen und anschließend auf dem Bildschirm ausgeben Java Basics - Anfänger-Themen 7
W Dateinamen einlesen und Liste in .txt-Datei ausgeben. Java Basics - Anfänger-Themen 2
D Datei einlesen und ausgeben. Java Basics - Anfänger-Themen 6
G TXT-Datei einlesen und ausgeben Java Basics - Anfänger-Themen 4
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
M Daten aus .txt Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 80
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Saiko Zeilen einer Datei einlesen Java Basics - Anfänger-Themen 3
sserio Txt Datei einlesen Java Basics - Anfänger-Themen 9
D Strings aus Excel-Datei einlesen Java Basics - Anfänger-Themen 2
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
J Csv-Datei einlesen Java Basics - Anfänger-Themen 52
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
O zufälliges Wort aus einer Datei einlesen Java Basics - Anfänger-Themen 32
E Input/Output Datei anhand von Dateinamen einlesen Java Basics - Anfänger-Themen 5
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
P Datei einlesen und zurückgeben Java Basics - Anfänger-Themen 5
G String wird nach Einlesen aus Datei nicht erkannt Java Basics - Anfänger-Themen 3
B HTML Datei einlesen und HTML Code in String wandeln Java Basics - Anfänger-Themen 19
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
P Text Datei einlesen und übertragen Java Basics - Anfänger-Themen 15
E Einteilung der Räume mit einlesen einer .txt datei Java Basics - Anfänger-Themen 16
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
L Input/Output XML Datei einlesen (JAXB?) Java Basics - Anfänger-Themen 10
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
I Datei einlesen Java Basics - Anfänger-Themen 11
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
C Erste Schritte Regex - Datei einlesen und splitten Java Basics - Anfänger-Themen 4
K Datei aus unbekannten Speicherorten einlesen Java Basics - Anfänger-Themen 1
T Datei in Array einlesen "null" Java Basics - Anfänger-Themen 8
U Daten aus Datei einlesen Java Basics - Anfänger-Themen 4
N Datei Zeilenweise einlesen, Ausgabe mehrere Arrays Java Basics - Anfänger-Themen 7
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
M Methoden Datei einlesen und als return übergeben. Java Basics - Anfänger-Themen 8
P CSV Datei einlesen und damit ein Datenmodell befüllen Java Basics - Anfänger-Themen 2
N Datei einlesen und grafisch anzeigen Java Basics - Anfänger-Themen 31
J Text Datei einlesen Java Basics - Anfänger-Themen 6
N gerichteter Graph aus einer Datei einlesen Java Basics - Anfänger-Themen 21
Z Erste Schritte Versuche ein Labyrinth in einem Terminal zu erstellen, aber kann die properties Datei nicht einlesen Java Basics - Anfänger-Themen 3
J Encoding Problem beim Einlesen einer txt Datei mit Umlauten Java Basics - Anfänger-Themen 3
V Excel Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 4
stylegangsta Input/Output Hat eclipse eine Macke oder mein Code Array Datei einlesen Java Basics - Anfänger-Themen 5
N Mehrdimensionales float Array aus .txt-Datei einlesen? Java Basics - Anfänger-Themen 17
C Datei mit Daten einlesen und höchsten wert der zweiten Spalte ermitteln Java Basics - Anfänger-Themen 1
J CSV Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
S Datei einlesen - Dateipfad unter Linux anpassen Java Basics - Anfänger-Themen 12
A Datei in Array einlesen Java Basics - Anfänger-Themen 6
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
Ananaskirsche Input/Output Bestimmte Zeile aus Datei einlesen Java Basics - Anfänger-Themen 4
J .txt Datei "einlesen "und in String speichern ergibt immer NULL Java Basics - Anfänger-Themen 17
M CSV-File aus datei system einlesen Java Basics - Anfänger-Themen 3
B Datei in Java einlesen Java Basics - Anfänger-Themen 13
S Input/Output einlesen aus einer evtl. leeren Datei Java Basics - Anfänger-Themen 5
J Input/Output Datei - Zeilenumbruch einlesen Java Basics - Anfänger-Themen 10
H config Datei erstellen + einlesen Java Basics - Anfänger-Themen 15
F Datei einlesen ( Bytes ) Java Basics - Anfänger-Themen 12
T Klassen CSV datei einlesen und parsen Java Basics - Anfänger-Themen 4
U Datei einlesen Java Basics - Anfänger-Themen 9
S ANSI-Datei einlesen UND UTF-8-Datei schreiben Java Basics - Anfänger-Themen 3
M Datei einlesen mit generics? Java Basics - Anfänger-Themen 9
I Datei einlesen, Inhalt in MAP ablegen Java Basics - Anfänger-Themen 10
A Erste Schritte Datei einlesen und Buchstaben zählen Java Basics - Anfänger-Themen 13
D txt-Datei zeilenweise als String einlesen Java Basics - Anfänger-Themen 2
E JPane txt datei einlesen Java Basics - Anfänger-Themen 5
D RegExp .txt-Datei einlesen Java Basics - Anfänger-Themen 6
M Datei Einlesen Fortan-Style? Java Basics - Anfänger-Themen 3
A Datei einlesen und weiterverarbeiten Java Basics - Anfänger-Themen 5
S Datei einlesen Java Basics - Anfänger-Themen 21
D Datei einlesen Fehler Java Basics - Anfänger-Themen 17
A Beim txt Datei einlesen kommen zusätzliche Lehrzeichen dazu. Java Basics - Anfänger-Themen 5
H eine Datei schnellstmöglich einlesen Java Basics - Anfänger-Themen 12
0 Log4J Probleme beim einlesen der Log datei Java Basics - Anfänger-Themen 2
E Input/Output Linux datei in Windows zeilenweise einlesen Java Basics - Anfänger-Themen 4
L Problem beim Einlesen einer Datei in einen String Java Basics - Anfänger-Themen 12
S Datenströne - Text in eine Datei einlesen, umwandeln und in eine neue Datei schreiben Java Basics - Anfänger-Themen 6
E externe .txt Datei mit Scanner einlesen Java Basics - Anfänger-Themen 7
N Input/Output .txt-Datei einlesen, aufteilen und seperat abspeichern Java Basics - Anfänger-Themen 3
L Datei einlesen Java Basics - Anfänger-Themen 12
L Input/Output Datei in Java einlesen Java Basics - Anfänger-Themen 9
J Datei einlesen Java Basics - Anfänger-Themen 10
I .csv-Datei einlesen klappt aber kann nicht in String geschrieben werden!?!?! Java Basics - Anfänger-Themen 11
S Datei einlesen und Ergebnis wieder in Datei schreiben Java Basics - Anfänger-Themen 5
J Datei einlesen teile aus lines ändern und wieder rausschreiben. Java Basics - Anfänger-Themen 4
B Wertetabelle mit versch. Formaten aus txt-Datei einlesen Java Basics - Anfänger-Themen 2
H 200000 Zeilen aus Datei einlesen Java Basics - Anfänger-Themen 13
D CSV Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 23
J byteweise Einlesen einer Datei "Von.. bis.." Java Basics - Anfänger-Themen 3
J Einlesen/Speichern von Strings aus einer Datei Java Basics - Anfänger-Themen 15
Z CSV-Datei einlesen mit dem JFileChooser !!! Java Basics - Anfänger-Themen 5
H Einlesen einer CSV-Datei Java Basics - Anfänger-Themen 2
X einlesen aus Datei, Fehler Java Basics - Anfänger-Themen 9
S Einlesen einer Datei? Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben