BufferedReader

Status
Nicht offen für weitere Antworten.

airbachmann

Mitglied
Hallo Leute,

Ich habe ein File (ändlich wie csv), welches ich einlesen möchte und anschliessen in XML wandeln möchte. in meinem Fall ist der RowDelimiter ein LineFeed. Beim Einlesen muss beachtet werden, dass das File jede beliebige Grösse haben kann. Ein BufferedReader hat aber nur eine bestimmte Grösse.

Wie kann ich nun das File auslesen?

Ich habs mal so versucht, dass ich den BufferedReader mit read() nach dem Rowdelimiter absuchen lasse. dies in einer while Schleife.

Code:
while ( (zeichencode = f.read()) != ini.rowdelimiterhashcode)

Danke für eure Hilfe.

Gruss Reto
 

Maddy

Mitglied
bitte nochmal langsam zum mitschreiben: was genau ist Dein Problem?

Du hast eine beliebig grosse Datei, die Du einlesen willst. Wie denn? Zeilenweise? Zeichenweise (das lässt Dein Codeschnipsel vermuten)? Und was willst Du dann damit machen?

Und was macht Dein Code, was er nicht soll bzw was Du nicht willst?

Gruss Maddy
 

airbachmann

Mitglied
Ich habs mir noch gedacht, dass da niemand draus kommt.

Ich habe eine beliebig grosse Datei.
Diese möchte ich einlesen. (Wie ist mir egal, es darf einfach keinen Speicherkonflikt geben.)

Ich habs mal so versucht, dass ich den BufferedReader zeichenweise einlese und zwar bis der RowDelimiter kommt. (in meinem Fall ein Linefeed.)
Dies muss ich nochmals in eine While Schleife verschachteln, da er das File so nur bis zum 1. Linefeed einliest.

ReadLine ist meiner Meinung nach nicht geeignet, da der RowDelimiter bereits ein LineFeed ist und es so zu irgendwelchen Problemen kommen kann. (RowDelimiter muss aber beliebig wählbar sein. Ich lese ihn aus ner ini aus.)

hier einmal mein Code zu diesem Problem. vielleich ist er völlig falsch!
Code:
int counter = 0;
int anfang = 0;
while (f.ready() == true)
{
    while ( (zeichencode = f.read()) != ini.rowdelimiterhashcode)
    {
         counter++;
    }
    String hallo = f.readLine();
    line = hallo.substring(anfang, counter);
    System.out.println(line);
    anfang = counter;
}

Danke für die Hilfe.

Gruss Reto
 

Maddy

Mitglied
Also nochmal: Du willst aus der Datei "Zeilen" auslesen, nämich immer von LF zu LF, und was dazwischen ist, wird XML?

Hast Du das mal mit einem BufferedReader probiert? Der hat nur eine bestimmte Grösse, das ist richtig, aber ich hatte auch bei grossen Dateien noch nie Probleme mit dem Teil.
Wenns wirklich nicht geht, probier den Reader oder FileReader. Die sind meines Wissens nach nicht begrenzt (ohne Gewähr!).
Und LF als Delimiter hat eigentlich auch noch nicht rumgezickt. Hast Du das eigentlich alles schonmal ausprobiert oder führten Dich "nur" Überlegungen zu dem Ergebnis, das nicht benutzen zu wollen?

Und Du verwendest readLine() ja doch. Das was da steht, kann eigentlich gar nicht funktionieren, jedenfalls vom angucken her, denn so müsstest Du ja eine Zeile zweimal lesen, einmal mit read() und einmal mit readLine().
So sieht die zweite while-Schleife erstmal ganz gut aus, probier es doch mal so:

Code:
StringBuffer str = new StringBuffer();
while(...)
{
   while ( (zeichencode = f.read()) != ini.rowdelimiterhashcode) 
       { 
            str.append(zeichencode);
            counter ++;
       }
   System.out.println(str);
}
Dann musst Du nur einmal lesend auf die Datei.

Gruss Maddy
 

airbachmann

Mitglied
Ich weiss, meine Version war auch nur etwas, was ich ausprobiert habe.

mit deiner Version bekomme ich immer den Zahlencode. Jetzt wie kann ich diesen Zahlencode wieder in einen String, also in das ursprüngliche Zeichen umwandeln?

ansonsten wäre das perfekt!! :wink:

Gruss Reto
 

Maddy

Mitglied
wenn ich mal davon ausgehe, dass "zeichencode" ein ASCII-Code ist, müsste man den doch in ein char umwandeln können.

Da musst Du allerdings mal in die API gucken, wie das funktioniert, das weiss ich nicht. Aber ein char kann man in ein String umwandeln und dann bist Du wieder da.

Hoffe es klappt *daumendrück*
Maddy
 

airbachmann

Mitglied
Hat geklappt.

man muss bevor man es dem StringBuffer hinzufügt noch in ein Char umwandeln.

Code:
while ( (zeichencode = f.read()) != ini.rowdelimiterhashcode)
          {
            str.append((char) zeichencode);
            counter++;
          }

Danke Dir vielmals!!

Gruss Reto
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
S Erklärung BufferedReader und InputStreamReader Java Basics - Anfänger-Themen 4
Dimax BufferedReader.readLine().length() wirft NullPointer Java Basics - Anfänger-Themen 6
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
M BufferedReader begrenzen Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
O BufferedReader - Endlos Schleife Java Basics - Anfänger-Themen 2
K BufferedReader für IOTools ersetzen? Java Basics - Anfänger-Themen 17
M BufferedReader neue Zeile nach Knopfdruck Java Basics - Anfänger-Themen 9
H Unterschied BufferedReader und BufferedInputStream Java Basics - Anfänger-Themen 4
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
S BufferedReader nächste Zeile lesen Java Basics - Anfänger-Themen 4
E Erste Schritte txt.Datei mit BufferedReader einlesen und in 2D-Array abspeichern Java Basics - Anfänger-Themen 15
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
P Einlesen von Daten via BufferedReader Java Basics - Anfänger-Themen 4
S Einlesen BufferedReader Java Basics - Anfänger-Themen 5
D BufferedReader/InputStreamReader/Split Java Basics - Anfänger-Themen 2
M bufferedreader loop stoppen Java Basics - Anfänger-Themen 2
HoloYoitsu BufferedReader verhält sich seltsam Java Basics - Anfänger-Themen 10
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
J Scanner & BufferedReader Java Basics - Anfänger-Themen 3
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
V Fehlerhafte BufferedReader/switch Benutzung? Java Basics - Anfänger-Themen 2
L 2x BufferedReader in einem Programm Java Basics - Anfänger-Themen 1
K Einlesen einer txt von BufferedReader klappt nicht wie gewünscht Java Basics - Anfänger-Themen 12
N BufferedReader Java Basics - Anfänger-Themen 19
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
P Interpreter-Fehler Probleme mit java.io.BufferedReader Java Basics - Anfänger-Themen 6
M BufferedReader => TextField/Label Java Basics - Anfänger-Themen 8
B Input/Output Benutzereingabe mit BufferedReader Java Basics - Anfänger-Themen 7
B Erste Schritte BufferedReader mag nicht so recht Java Basics - Anfänger-Themen 4
B Input/Output Probleme mit BufferedReader Java Basics - Anfänger-Themen 4
J BufferedReader in Integer konvertieren Java Basics - Anfänger-Themen 7
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
P BufferedReader - als String[] speichern ? Java Basics - Anfänger-Themen 5
H Problem mit Regex in Verbindung mit BufferedReader Java Basics - Anfänger-Themen 4
J InputStreamReader + BufferedReader - keine Eingabemöglichkeit Java Basics - Anfänger-Themen 10
G Hilfe bei BufferedReader Java Basics - Anfänger-Themen 4
A Methoden BufferedReader durchzählen dann lesen Java Basics - Anfänger-Themen 11
T BufferedReader mehrere Zeilen einlesen Java Basics - Anfänger-Themen 4
S Erste Schritte Frage bezüglich "BufferedReader" Java Basics - Anfänger-Themen 3
A BufferedReader mit geöffneter Datei Java Basics - Anfänger-Themen 4
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
H BufferedReader Zeilenauslesen & verwenden Java Basics - Anfänger-Themen 4
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
F Eingabe von Ganzen Zahlen oder Strings mit BufferedReader Java Basics - Anfänger-Themen 10
D BufferedReader und .split() Java Basics - Anfänger-Themen 3
C BufferedReader Java Basics - Anfänger-Themen 5
C Datentypen BufferedReader Java Basics - Anfänger-Themen 6
c_sidi90 BufferedReader Benzinverbrauch Java Basics - Anfänger-Themen 7
Antoras Datei laden mit BufferedReader sehr langsam Java Basics - Anfänger-Themen 7
J Bufferedreader nich von anfang an. Java Basics - Anfänger-Themen 14
M Position des BufferedReader Java Basics - Anfänger-Themen 6
J Socket - BufferedReader lese Problem Java Basics - Anfänger-Themen 2
U BufferedReader - mark Java Basics - Anfänger-Themen 6
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
K BufferedReader/Writer trotz Cache? Java Basics - Anfänger-Themen 9
MEETyA Zeilenumbrüche fehlen nach BufferedReader Java Basics - Anfänger-Themen 3
S BufferedReader in Methode übergeben Java Basics - Anfänger-Themen 2
C BufferedReader und FileWrite Java Basics - Anfänger-Themen 2
G Frage zu BufferedReader readline() Java Basics - Anfänger-Themen 3
M BufferedReader.readline() Unix/Windows Zeilenumbruch Java Basics - Anfänger-Themen 4
K zwei Funktionen, ein BufferedReader? Java Basics - Anfänger-Themen 8
K BufferedReader im Konstruktor // guter Stil ? Java Basics - Anfänger-Themen 2
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
N BufferedReader Verständnisproblem Java Basics - Anfänger-Themen 12
M Problem mit BufferedReader. Java Basics - Anfänger-Themen 10
N Probleme mit dem BufferedReader Seitenquelltext auszulesen Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 5
G Probleme mit BufferedReader Java Basics - Anfänger-Themen 6
E Was ließt der BufferedReader eigentlich ein? Java Basics - Anfänger-Themen 3
N Problem mit BufferedReader und close() Java Basics - Anfänger-Themen 6
T NullPointerException bei BufferedReader Java Basics - Anfänger-Themen 4
G bufferedReader -> String[] Java Basics - Anfänger-Themen 8
J NullPointerException BufferedReader.readLine() Java Basics - Anfänger-Themen 4
S java.io.* BufferedReader to String Java Basics - Anfänger-Themen 12
T BufferedReader oder Prozess, wer hängt sich auf? Java Basics - Anfänger-Themen 6
J bufferedReader liest zu wenig daten ein Java Basics - Anfänger-Themen 6
G BufferedReader Problem Java Basics - Anfänger-Themen 10
W Bestimmten Pfad im BufferedReader Java Basics - Anfänger-Themen 4
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
K FileReader BufferedReader & Arrays Java Basics - Anfänger-Themen 14
G BufferedReader - split-Methode Java Basics - Anfänger-Themen 6
G Bufferedreader Java Basics - Anfänger-Themen 11
B BufferedReader für Char? Java Basics - Anfänger-Themen 6
K BufferedReader & BufferedWriter Java Basics - Anfänger-Themen 6
G BufferedReader Java Basics - Anfänger-Themen 6
V BufferedReader dann zusammenzählen Java Basics - Anfänger-Themen 3
G Hashset verknüpfen mit BufferedReader Java Basics - Anfänger-Themen 18
S BufferedReader (JFileChooser) Java Basics - Anfänger-Themen 2
P Komisches Verhalten von BufferedReader und readLine() Java Basics - Anfänger-Themen 2
R Probleme mit Bufferedreader Java Basics - Anfänger-Themen 11
R frage zur read()-Methode des BufferedReader Java Basics - Anfänger-Themen 2
M mit BufferedReader Zeile lesen Java Basics - Anfänger-Themen 11
L read() (von bufferedReader) abbrechen Java Basics - Anfänger-Themen 5
L unterbrechen von bufferedReader.read() Java Basics - Anfänger-Themen 4
R BufferedReader <-> InputStream Java Basics - Anfänger-Themen 3
G BufferedReader Java Basics - Anfänger-Themen 18
C BufferedReader und BufferedWriter im Netzwerk Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben