Mehrdimensionales Array aus txt.file auslesen

AleXusher

Mitglied
Hallo zusammen,
ich habe bisher ein Array[10][10][10], welches mit zufälligen Zahlen gefüllt wird. Ich schaffe es sogar, dieses Array in eine txt-Datei zu speichern. Unsortiert undeinfach pro Zeile eine Zahl (int). Das klappt gut und passt soweit.

Jetzt möchte ich aus genau dieser txt diese Zahlen in einem anderen Projekt dort in ein glech großes Array einlesen. Aber hier weiß ich nicht, wie ich das machen soll. Ich habe schon mit FileReader und Scanner herumprobiert, aber komme nicht weiter. Vielleicht kann mir hier jemand helfen? Das wäre super! Ich denke, dass das Problem schnell zu lösen ist, aber ich hocke schon seit 2 std dran und komme nicht weiter.

[CODE lang="java" title="Array füllen und in txt speichern"]import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
import java.io.File;


public class speichern{

public static void main (String args[]) throws FileNotFoundException {
PrintWriter outputFile = new PrintWriter("test.txt");

int [][][]array = new int[10][10][10];
int []array2 = new int[10];
int i = 0;
int j = 0;
int k = 0;

int min = 50;
int max = 100;

//Generate random int value from 50 to 100
System.out.println("Random value in int from "+min+" to "+max+ ":");

for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
array[j][k] = (int)Math.floor(Math.random()*(max-min+1)+min);
outputFile.println(array[j][k]);
}
}
//array2 = (int)Math.floor(Math.random()*(max-min+1)+min);
//outputFile.println(array2);
}
outputFile.close();

for (i=0; i < 10; i++) {
for (j=0; j < 10; j++) {
for (k=0; k < 10; k++) {
//System.out.println("Test");
System.out.print(array[j][k]+" ");
}
System.out.println("");
}
System.out.println("i ist "+i);
}

System.out.println(array[8][1][3]);
}

}[/CODE]

Und hier bisher der Versuch aus der Datei zu lesen:

Java:
import java.io.BufferedReader;
import java.io.FileReader;

import java.util.Arrays;
import java.util.Scanner;

public class lesen {
    public static void main (String args[]) throws Exception {
        //Scanner sc = new Scanner(new BufferedReader(new FileReader("sample.txt")));
        FileReader inputFile = new FileReader("Datenzumlesen.txt");
        int boxes = 10; 
        int rows = 10;
        int columns = 10;
         
        int [][][] myArray = new int[boxes][rows][columns];
       
            for(int i=0;i<10;i++) {
                for (int j=0;j<10;j++) {
                    for(int k=0;k<10;k++) {
                        inputFile.read(myArray[i][j][k]); //(myArray[i][j][k]);
                    }
                }
            }

        inputFile.close();

        for (int i=0; i < 10; i++) {
            for (int j=0; j < 10; j++) {
                for (int k=0; k < 10; k++) {
                    //System.out.println("Test");
                    System.out.print(myArray[i][j][k]+" ");
                }
                System.out.println("");
            }
        System.out.println("i ist "+i);
        }
    }       
}

Ich weiß nur leider einfach nicht genau, wie scanner funktionieren. FileReader habe ich auch erfolglos probiert und die Dinge im Internet, die ich finde, behandeln alle nur eindimensionale Arrays. Ich hoffe mir kann jemand helfen. Danke schon einmal für jede Hilfe :)
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Du schreibst die numerischen Werte als Text raus. Die Umwandlung des numerischen Werts in Text passiert durch println automatisch. Jede Zahl schreibst Du in eine neue Zeile.

Folglich musst Du Text lesen und diesen wieder in einen numerischen Wert konvertierten. Das funktioniert z. B. mit einem Scanner. Hier sollte nextInt() passen.

Java:
import java.io.BufferedReader;
import java.io.FileReader;

import java.util.Arrays;
import java.util.Scanner;

public class lesen {
    public static void main (String args[]) throws Exception {
        Scanner sc = new Scanner(new BufferedReader(new FileReader("test.txt")));
        int boxes = 10; 
        int rows = 10;
        int columns = 10;
         
        int [][][] myArray = new int[boxes][rows][columns];
       
        for(int i=0;i<10;i++) {
            for (int j=0;j<10;j++) {
                for(int k=0;k<10;k++) {
                    myArray[i][j][k] = sc.nextInt();
                }
            }
        }
        sc.close();

        for (int i=0; i < 10; i++) {
            for (int j=0; j < 10; j++) {
                for (int k=0; k < 10; k++) {
                    //System.out.println("Test");
                    System.out.print(myArray[i][j][k]+" ");
                }
                System.out.println("");
            }
        System.out.println("i ist "+i);
        }
    }       
}
 

mihe7

Top Contributor
Das funktioniert natürlich auch so, wie @Barista vorgeschlagen hat.

Ansonsten: die nextInt-Methode des Scanners liest erstmal über alle Trennzeichen hinweg (standardmäßig sind das alle Whitespace-Zeichen), der folgende Text wird bis zum Trennzeichen (aber ohne dieses) eingelesen. Anschließend wird der eingelesene Text als int-Zahl interpretiert und diese wird zurückgegeben.

Der Witz ist also, dass Whitespace jeglicher Art überlesen wird. Daher spielt es auch keine Rolle, ob die Zahlen der Matrix in einer Zeile (mit z. B. Leerzeichen getrennt), tabellenförmig (Leerzeichen und Zeilenumbruch gemischt) oder in Zeilen (Zeilenumbruch nach jeder Zahl) ausgegeben wurden. Das Ding liest einfach eine Zahl nach der anderen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
OZAN86 Mehrdimensionales Array Java Basics - Anfänger-Themen 4
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
nightsky_ Mehrdimensionales Array mit flatMap() ausgeben lassen Java Basics - Anfänger-Themen 6
N Alternative für mehrdimensionales Array Java Basics - Anfänger-Themen 25
K Mehrdimensionales Array Java Basics - Anfänger-Themen 4
Y Mehrdimensionales Array diagonal abfragen. Java Basics - Anfänger-Themen 5
N Mehrdimensionales float Array aus .txt-Datei einlesen? Java Basics - Anfänger-Themen 17
F Mehrdimensionales Array durchsuchen Java Basics - Anfänger-Themen 8
S Mehrdimensionales Array füllen Java Basics - Anfänger-Themen 1
N Unsymmetrisches mehrdimensionales Array in eindimensionales umwandeln Java Basics - Anfänger-Themen 2
S Mehrdimensionales Array sortieren Java Basics - Anfänger-Themen 3
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
J mehrdimensionales array Java Basics - Anfänger-Themen 2
M Mehrdimensionales Array initialisieren Java Basics - Anfänger-Themen 3
M Methoden Daten aus einer SQL-Abfrage in eine mehrdimensionales Array einlesen Java Basics - Anfänger-Themen 7
F.S.WhiTeY Mehrdimensionales array, größere zahlen von innen nach außen Java Basics - Anfänger-Themen 3
S Mehrdimensionales Char-Array initialisieren Java Basics - Anfänger-Themen 17
Joy drei- und mehrdimensionales Array deklarieren Java Basics - Anfänger-Themen 9
D Datentypen mehrdimensionales Array meherer Typen möglich ? Java Basics - Anfänger-Themen 6
E Mehrdimensionales Array automatisch befüllen Java Basics - Anfänger-Themen 9
Z mehrdimensionales Array, Matrix "invertieren" Java Basics - Anfänger-Themen 4
B Mehrdimensionales Array + Tiefe Java Basics - Anfänger-Themen 4
F Mehrdimensionales Array zweite Diemnsion später Konstruieren? Wie Java Basics - Anfänger-Themen 2
B Mehrdimensionales Array Java Basics - Anfänger-Themen 9
bigbasti Mehrdimensionales Array instanzieren Java Basics - Anfänger-Themen 10
K Größe, mehrdimensionales Array Java Basics - Anfänger-Themen 6
S Mehrdimensionales Array füllen und kopieren! Java Basics - Anfänger-Themen 14
D Mehrdimensionales Array Java Basics - Anfänger-Themen 6
D String in mehrdimensionales Array Java Basics - Anfänger-Themen 7
D Mehrdimensionales Array sortieren Java Basics - Anfänger-Themen 5
S Mehrdimensionales Array+Methode+Rückgabeschwierigkeiten Java Basics - Anfänger-Themen 8
J Mehrdimensionales Array im Http-Request Java Basics - Anfänger-Themen 5
I dynamische mehrdimensionales Array Java Basics - Anfänger-Themen 8
G Rückgabe mehrdimensionales Array Java Basics - Anfänger-Themen 3
L zahlen in mehrdimensionales array einlesen Java Basics - Anfänger-Themen 3
C mehrdimensionales Object sortieren Java Basics - Anfänger-Themen 4
A Datentypen Größe eines mehrdimensionales Arrays Java Basics - Anfänger-Themen 4
C Problem: Mehrdimensionales Arry Java Basics - Anfänger-Themen 10
A mehrdimensionales ArrayList Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben