2-dim Array auslesen und in Datei schreiben

Status
Nicht offen für weitere Antworten.

J~man

Mitglied
Hallo!

Ich möchte einen 2-dim Array der Form:
Java:
	Object[][] schema = { { "int", "4", "id" },
			{"int", "4", "salary" },
			{"varchar", "128", "name" },
			{"varchar", "128", "address" } };
in eine Datei schreiben.
Meinetwegen soll die Datei dann so ausschauen:
int 4 id
int 4 salary
varchar 128 name
varchar 128 address

Mein Problem ist erstmal, wie ich die einzelnen Bestandteile ausm Array rauskrieg, wo ich ja nicht weiß, wie groß das Array ist!

Danke!
 

javimka

Top Contributor
Um die Elemente aus dem Array zu verwenden, kannst du das benutzen:
Java:
for (int i=0;i<schema.length;i++) {
  for (int j=0;j<schema[i].length;j++) {
    ... // tu etwas mit schema[i][j]
  }
}
 

eRaaaa

Top Contributor
also wenn du foreach benutzt, brauchst du die länge eh nicht wissen, ansonsten kann man sich diese auch mit schema.length; holen.
wieso benutzt du eig. ein array vom typ object? sind doch eh nur strings enthalten?
aber na gut:

Java:
	Object[][] schema = { { "int", "4", "id" }, { "int", "4", "salary" },
		{ "varchar", "128", "name" }, { "varchar", "128", "address" } };
	try {
	    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
		    new FileOutputStream("PFAD"))); //pfad anpassen

	    for (Object[] objects : schema) {
		for (Object object : objects) {
		    out.write(object + " ");
		}
		out.write("\n");
	    }
	    out.flush();

	} catch (IOException e) {
	    e.printStackTrace();
	}
 
Zuletzt bearbeitet:

J~man

Mitglied
hallo!

Ich danke euch, das klappt so! :applaus:
Das mit dem Object ist vorgegeben, das darf ich nicht ändern. Warum das so ist, verstehe ich allerdings auch nicht.

Ich muss allerdings gestehen, dass ich das mit diesen ganzen Buffern immer nicht so recht verstehe. Ich fürchte, da muss ich mich wirklich mal irgendwo gesondert einlesen..
 

J~man

Mitglied
mist, ich kriegs doch nicht ganz hin:
Wie mache ich es denn jetzt umgekehrt?
Aus den Informationen aus der Datei ein Object[][] erstellen?
 

eRaaaa

Top Contributor
mhm, das kann schon schwieriger werden. also die sache mit einem array zu lösen, weil du ja vorher nicht genau weisst, wieviele zeilen die datei hat.
gibt nun verschiednee möglichkeiten, entweder du durchläufst einmal komplett die datei und zählst die zeilen, oder du kopierst quasi jedesmal das array in ein neues array, was irgendwie häßlich ist, denk ich

so zumindestens erstmal für dein o.g. beispiel (4 zeilen, 3 spalten):
Java:
	Object[][] schema = new Object[4][3];  //hier die größe, die du ja eig. nicht von vorn herein kennst
	int zeile = 0;
	Scanner in = new Scanner(new File("PFAD")); //pfad anpassen !!
	while (in.hasNextLine()) {
	    String[] line = in.nextLine().split(" ");
	    for (int i = 0; i < schema[zeile].length; i++) {
		schema[zeile][i] = line[i];
	    }
	    zeile++;
	}
 

hdi

Top Contributor
Falls ihr die Klasse List verwenden dürft, wäre das die eleganteste Methode, da Listen in ihrer Größe dynamisch änderbar sind. D.h. du addest einfach Zeile für Zeile in die Liste, kann dir egal sein, wieviel das werden... Und am ende einfach ein toArray() auf die Liste anwenden. Da du am Ende ein 2d-Array willst brauchst du eine verschachtelte Liste:

Java:
List<List<Object>> list = new ArrayList<List<Object>>();
 

hdi

Top Contributor
Ja das is wohl war...

@TO ich kann dir sagen warum ihr Object nehmen sollt: Das hat was mit Polymorphismus zu tun, falls dir das etwas sagt. Ein Konzept aus der OOP, das macht den Code dynamischer, da du in ein Object-Array sowohl Strings tun kannst, als auch Instanzen jeder anderen Klasse die von Object abgeleitet ist. (Und das ist jede Java-Klasse).
 

javimka

Top Contributor
Du könntest auch bevor du irgendein Object in die Datei speicherst, die Dimensionen des Arrays reinspeichern und beim Lesen zuerst diese Werte lesen, dann das Array aufbauen und dann alle Object Objekte lesen und ins Array einfügen.
 

J~man

Mitglied
Hi!

Habe es jetzt, auch weil ich mir jetzt nicht sicher bin, ob wir dafür Listen gebrauchen dürften oder nicht, eine Kombination aus eRaaaas Code und javimka Vorschlag gewählt.
Ich speichere also zuerst die Dimension mit in die Datei und erstelle dann direkt ein Object[][] Array und lese die Infos dafür mit der Scannerklasse ein.

Soweit klappt das also erstmal schonmal! ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Datei auslesen und 2D-Array anlegen Java Basics - Anfänger-Themen 1
Voreck Array aus txt datei auslesen Java Basics - Anfänger-Themen 2
Z Datei auslesen und in 2dim Array packen. Java Basics - Anfänger-Themen 27
M Datei auslesen und Array schreiben?! Java Basics - Anfänger-Themen 8
N String/char-array aus datei auslesen Java Basics - Anfänger-Themen 2
B String-Array in Datei speichern und wieder auslesen Java Basics - Anfänger-Themen 3
T array auslesen Java Basics - Anfänger-Themen 2
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7
M Array mit Objekten lässt sich nicht auslesen Java Basics - Anfänger-Themen 10
B String auslesen und Stellen im Array speichern Java Basics - Anfänger-Themen 1
S Rückgabe-Array lässt sich nicht auslesen, LocalDate mit String Java Basics - Anfänger-Themen 3
M Erste Schritte float-Array auslesen Java Basics - Anfänger-Themen 4
O Auslesen von .csv Datein in ein Klassen Array Java Basics - Anfänger-Themen 6
J Methoden Einzelnen Wert aus Objekt aus einem Array auslesen und danach sortieren Java Basics - Anfänger-Themen 8
P 2D Array auslesen gibt nur letzten Wert aus Java Basics - Anfänger-Themen 11
E array; daten aus txt auslesen Java Basics - Anfänger-Themen 5
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
S array auslesen Java Basics - Anfänger-Themen 6
J Variablen Array aus anderer Klasse auslesen-Wie verhindert man eine NullPointerException? Java Basics - Anfänger-Themen 4
S Werte aus Array auslesen über Variableninhalt Java Basics - Anfänger-Themen 2
O Erste Schritte Array auslesen, ... Java Basics - Anfänger-Themen 6
E Erste Schritte Verzeichnis auslesen, Dateinamen in Array speichern :-( Java Basics - Anfänger-Themen 7
K String auslesen aus array Java Basics - Anfänger-Themen 3
C Array rückwärts auslesen Java Basics - Anfänger-Themen 4
E Array auslesen in GUI Java Basics - Anfänger-Themen 8
S Datentypen Array in Textdatei speichern und auslesen Java Basics - Anfänger-Themen 16
K Inhalt eines Elements aus dem Objekt Array auslesen Java Basics - Anfänger-Themen 9
F OOP Objekt Array auslesen Java Basics - Anfänger-Themen 9
D Array Elemente auslesen Java Basics - Anfänger-Themen 14
G Bestimmte Position im array auslesen Java Basics - Anfänger-Themen 8
P Array index per char suche auslesen Java Basics - Anfänger-Themen 3
A bilddateinamen aus array auslesen und bild darstellen? Java Basics - Anfänger-Themen 2
B Java Array List größe auslesen zur Suchfunktion Java Basics - Anfänger-Themen 5
W Array auslesen? Java Basics - Anfänger-Themen 11
M Array - eine Variable auslesen Java Basics - Anfänger-Themen 4
G CSV auslesen und Zeilen in Array speichern Java Basics - Anfänger-Themen 13
G Array werte auslesen Java Basics - Anfänger-Themen 6
J array in for-Schleife auslesen? Java Basics - Anfänger-Themen 6
N Array aus JCheckBox? 1000 if's UPDATE: Spaltennamen auslesen Java Basics - Anfänger-Themen 12
S byte-array bitweise auslesen Java Basics - Anfänger-Themen 14
G Daten aus einem Array auslesen Java Basics - Anfänger-Themen 2
S Aus Array auslesen (HTML u.JSP). Wie! Java Basics - Anfänger-Themen 2
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
B Array auslesen das als Objekt geliefert wurde Java Basics - Anfänger-Themen 2
G Txt auslesen... Inhalt in ein Array speichern Java Basics - Anfänger-Themen 8
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
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

Ähnliche Java Themen

Neue Themen


Oben