Zeilenweises und Tab-weises einlesen von Datensätzen

Rufus.Mueller

Bekanntes Mitglied
Guten Abend,

ich habe eine Textdate vorliegen die etwa so aussieht:

1 5 8 9 1
4 7 8 9 1
1 7 1 6 9
...

Dabei sind die Ziffern innerhalb einer Zeile mit Tabs getrennt.

Was ich erreichen will, ist das ich zum Schluss ein array habe in dem alle Datensätze drin stehen. Es soll eine Zeile aber nicht als String im array stehen, sondern jede Ziffer soll einzeln in einem Feld des array stehen (es muss also ein zweidimensioneles array werden).

Was ich schon geschafft habe, ist es die Datensätze zeilenweise einzulesen:

Java:
	public void leseSequenz() throws IOException {
	
    FileReader fr = new FileReader("C:/Dokumente und Einstellungen/Ralf/Desktop/test.txt");
    BufferedReader br = new BufferedReader(fr);

    String zeile1 = br.readLine();
    System.out.print(zeile1);
    String zeile2 = br.readLine();
    System.out.print(zeile2);
    String zeile3 = br.readLine();
    System.out.print(zeile3);
    br.close();


Jetzt bin ich mir nicht sicher wie ich weiter vorgehen soll. Ich vermute mal, es gibt zwei Möglichkeiten:

1. Das einlesen so abändern, dass ich gleich die einzelnen Ziffern hab
2. Zeilenweise einlesen und dann zerstückeln.

Bin mir nicht sicher was besser ist, und wie ich es bewerkstellige.
 
Zeilenweise einlesen und über String.split(); zerstückeln ist das einfachste.
Java:
public void leseSequenz() throws IOException {
    
    FileReader fr = new FileReader("C:/Dokumente und Einstellungen/Ralf/Desktop/test.txt");
    BufferedReader br = new BufferedReader(fr);
 
    String zeile1 = br.readLine();
    Sting[] Zahlen = zeile1.split("\t");
 
Wie kommt es, dass ich bei unten stehendem Code-Fragement keine Ausgabe auf der Konsole habe?

Java:
	public void leseSequenz() throws IOException {
	
    FileReader fr = new FileReader("C:/Dokumente und Einstellungen/Ralf/Desktop/test.txt");
    BufferedReader br = new BufferedReader(fr);

    String zeile1 = br.readLine();
    String[] Zahlen = zeile1.split("\t");
    
    for (int i =0; i==5; i++){
    	System.out.println(Zahlen[i]);
    }
 
Weil es nicht
Code:
i== 5
sondern
Code:
i< 5
oder
Code:
i < zahlen.length;
sein muss. Hier dir korektur:

Java:
   public void leseSequenz() throws IOException {
    
    FileReader fr = new FileReader("C:/Dokumente und Einstellungen/Ralf/Desktop/test.txt");
    BufferedReader br = new BufferedReader(fr);
 
    String zeile1 = br.readLine();
    String[] Zahlen = zeile1.split("\t");
    
   for (int i = 0; i < Zahlen.length; i++) {
            System.out.println(zahlen[i]);
            
        }
 

Zurück
Oben