Daten mittels ObjectInputStream ins JTable

Status
Nicht offen für weitere Antworten.
L

loco

Gast
Hallo,

Ich wollte mal wissen wie ich Daten, die in einer Datei gespeichert sind, ins JTable bekomme.
Mittels dieses Codes habe ich die Daten aus der Tabelle gespeichert.
Code:
	public void writeData(JTable table, String path)
	{
		try
		{
			FileOutputStream fos = new FileOutputStream(path);
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			oos.writeObject(table);
			oos.close();
		}
		catch (IOException e)
		{
		}
	}
Code:
			fc.showSaveDialog(this);
			if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
				writeData(table, fc.getSelectedFile().getAbsolutePath());

Hab schon irgendwe versucht die Daten zurück in die Tabelle zu kriegen. Hat aber nicht so ganz hingehauen.
Code:
	public void openData(JTable table, String path)
	{
		try
		{
			FileInputStream fis = new FileInputStream(path);
			ObjectInputStream ois = new ObjectInputStream(fis);
			table =   (JTable) ois.readObject();
			ois.close();
		}
		catch (Exception e)
		{
		}
	}
Code:
			fc.showOpenDialog(this);
			if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION)
				openData(table, fc.getSelectedFile().getAbsolutePath());
Vielleicht kann mir ja einer weiterhelfen.

cu loco
 
R

Roar

Gast
wenn du das auf die art machen würdest, dann solltest du nicht eine JTasble als parameter angeben, sondern eine JTable zurückgeben, die dann im eigentlichen Programm verwendet wird ( JTable tab = openData("table.dat"); )
aber die methode ist sinnlos.. du brauchst nicht den ganzen Komponenten abspeichern, sondern nur die Daten. du könntest das TableModel abspeichern, oder dir direkt alle daten holen und einzeln abspeichern ( umständlich und ätzend :? ich spreche aus erfahrung.. war dumm)... also am besten wär, denke ich einfach das ganze TableModel abzuspeichern, dann hat man keine Probleme....

gruß
Roar in der früh
 
L

loco

Gast
Hi Roar,

das mit dem TableModel abspeichern hab ich auch schon versucht. Aber das Laden aus der Datei ins Programm hat
nicht gefunzt.Vielleicht kannst du mir ja mal ein Beispielcode geben.

cu loco
 
B

Beni

Gast
Denk daran:
- Variablen die mit "transient" gekennzeichnet sind, werden nicht gespeichert.
- Vergiss nicht das Model dem Table wieder zu übergeben. (soll schon vorgekommen sein :wink: )

@Raor
Vielleicht umständlich (mit einem grossen "naja"), aber:
der ObjectOut-/InputStream kann dafür nicht mit verschiedenen Versionen umgehen, speichert evtl. überflüssige Daten, ein anderes Programm wird die Dateien nicht auslesen können...
 
B

bygones

Gast
mir persönlich sträuben sich die Haare, wenn ich nicht die Daten sondern ganze Componenten speichere (zähle dazu auch das TableModel).

Meiner Ansicht nach sollten in eine Datei nur die Daten gespeichert werden (oder wenn das ganze DB basiert ist - ist es auch nicht schön, wenn man eine Spalte mit dem TableModel hat).....

und umständlich find ich es (prinzipiell) nicht. Spalten / Zeilen durchlaufen und speichern - oder man hat die Daten so und so in irgendeiner Weise intern repräsentiert und speichert die Repräsentation...

8)
 
R

Roar

Gast
@deathbyaclown: eigentlich bin ich ja deiner meinung, aber ich finde es doch umständlich alle zeilen und spalten zu durchlaufen. beim abspeichern geht das noch, aber beim laden ist das furchtbar umständlich. in meinem aktuellen projekt hätte ich besser enifach das Model abgespeichert, da dies ja dazu da ist die daten in der tabelle abzuspeichern...

Code:
public void writeData( TableModel model, String path ) throws IOException{
ObjectOutputStrem os = new ObjectOutputStream(new FileOutputStrem(path));
os.writeObject(model);
os.close();
}

public TableModel openData( String path ) throws IOException {
ObjectInputStream is = new ObjectInputStream(new FileInputStream(path));
TableModel model = (TableModel)is.readObject();
is.close();
return model;
}
 
B

Beni

Gast
@Roar
Ich hatte ja eine hohe Meinung von Dir :shock:, aber zwei ineinander verschachtelte Schlaufen seien schwierig und umständlich... :?
ich warte auf ein besseres Argument :wink:

mit sehr freundlichen Grüssen und leicht ironischem Unterton
Beni
 
R

Roar

Gast
nein du verstehst mich falsch :roll:
wenn ich den inhalt meiner tabelle so abspeichere, dann muss ich das soo umständlich machen:
Code:
try{
String[][] data = new String[this.tab.getRowCount()][this.tab.getColumnCount()];
for(int row = 0; row<this.tab.getRowCount();row++)
{
for( int col = 0;col<colHeads.size();col++)
{
data[row][col] = (String)this.tab.getValueAt(row,col);
}
}
projectData.setData(data);
//...
opstr.writeObject(this.projectData); // durch meine Klasse ProjectData hab ichs mir noch viel einfacher gemacht, da ich //damit auch die spaltenköpfe und den rest abspeichere...

also ich meine nicht "kompliziert" aber als ich versucht hab die datei zu laden gabs mal probleme. wenn ich einfach nur das model abgespeichert hätte, dann hätte ich gar keine probleme damit gehabt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Daten mittels ComboBox in ein JTable adden AWT, Swing, JavaFX & SWT 7
H JTabel - RowFilter Daten für Berechnung filtern AWT, Swing, JavaFX & SWT 6
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
W Daten von Controller zu Controller übertragen AWT, Swing, JavaFX & SWT 7
D Columns unabhängig voneinander mit Daten füllen JavaFx AWT, Swing, JavaFX & SWT 1
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
T Anbinden der Tabelle an die Daten AWT, Swing, JavaFX & SWT 5
F JavaFX Tabelle mit Daten füllen AWT, Swing, JavaFX & SWT 9
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
B AWT Bot um Daten auf Website einzugeben und die Antwort zu bekommen AWT, Swing, JavaFX & SWT 2
L Daten bearbeiten ohne GUI zu blockieren - daten haltung/zurück geben AWT, Swing, JavaFX & SWT 15
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
ralfb1105 Swing Dynamischer Graph zum anzeigen Perfomance Daten AWT, Swing, JavaFX & SWT 35
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
K TreeTableView (cellFactory) - wie Daten in Spalten einfügen AWT, Swing, JavaFX & SWT 0
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
J TableView Daten werden nicht ausgegeben AWT, Swing, JavaFX & SWT 9
A Swing Wie Daten in der Form speichern? Array oder ArrayList AWT, Swing, JavaFX & SWT 2
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
T JavaFX Model Daten übergeben AWT, Swing, JavaFX & SWT 4
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
J JavaFX Tableview Daten hinzufügen aus anderer Klasse AWT, Swing, JavaFX & SWT 7
J Tableview Daten hinzufügen und aktualisieren AWT, Swing, JavaFX & SWT 5
S AWT Daten über TextField und Button in array speichern AWT, Swing, JavaFX & SWT 5
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
S JavaFX (Best Practise) Daten zwischen Controllern austauschen AWT, Swing, JavaFX & SWT 1
thet1983 JavaFX TableView Objekt Daten anzeige AWT, Swing, JavaFX & SWT 2
L JavaFX Verzögerung beim Laden von Daten AWT, Swing, JavaFX & SWT 6
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
Tort-E JavaFX Daten an WebView Komponente AWT, Swing, JavaFX & SWT 1
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
S JTable Daten aus Array AWT, Swing, JavaFX & SWT 9
M Java FX Daten an Controller übergeben AWT, Swing, JavaFX & SWT 3
S JList ist leer, aber DefaultListModel hat die Daten? AWT, Swing, JavaFX & SWT 9
M JavaFX Von FXML-Controllerdatei Daten zurückgeben AWT, Swing, JavaFX & SWT 6
F JavaFX Daten aus Tabelle in ComboBox AWT, Swing, JavaFX & SWT 9
B Swing JTable mit Daten - Reihen-Größe anpassen AWT, Swing, JavaFX & SWT 0
D Applet GWT speichert Daten nicht in Datenbank AWT, Swing, JavaFX & SWT 2
S SWT In Listen den Einträgen Daten zuordnen AWT, Swing, JavaFX & SWT 2
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
F Swing JTable: Daten voreinstellen AWT, Swing, JavaFX & SWT 4
B Daten in eine JTable schreiben AWT, Swing, JavaFX & SWT 3
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
J valueChanged()-Methode liefert unbrauchbare Daten AWT, Swing, JavaFX & SWT 4
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
D SWT TreeViewer: Daten aus Model gelöscht... trotzdem noch im Baum AWT, Swing, JavaFX & SWT 4
D Daten von JDialog an JTable in JFrame übergeben AWT, Swing, JavaFX & SWT 7
O JTable zeigt die alte Daten wieder AWT, Swing, JavaFX & SWT 23
H JTable zeigt keine Daten an AWT, Swing, JavaFX & SWT 5
M Swing Daten von JPanel zu JFrame senden AWT, Swing, JavaFX & SWT 13
C Swing JTable Daten einfügen AWT, Swing, JavaFX & SWT 6
Ollek IndexOutOfBoundsException bei neuen Daten in JTable AWT, Swing, JavaFX & SWT 13
J Swing JTable-Daten Speichern und bei zeilen-änderung beibehalten. AWT, Swing, JavaFX & SWT 6
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
M Trotz richtiger Daten, falsches Bild wird gezeichnet?! AWT, Swing, JavaFX & SWT 4
O JFrame: Daten alle paar Sekunden aktualisieren AWT, Swing, JavaFX & SWT 3
C Daten aus DB -> JTable aktualisieren klappt nicht AWT, Swing, JavaFX & SWT 16
A Swing(Daten zugreifen) AWT, Swing, JavaFX & SWT 25
S JComboBox - veränderliche Daten AWT, Swing, JavaFX & SWT 6
Ollek Realisierung: JTable zur Laufzeit mit neuen Daten füllen AWT, Swing, JavaFX & SWT 3
GianaSisters Swing jTable Daten unsichtbar AWT, Swing, JavaFX & SWT 12
T JTree Daten in DB schreiben am besten SQL AWT, Swing, JavaFX & SWT 21
W Daten auf Textfeld in anderer Klasse verwenden AWT, Swing, JavaFX & SWT 4
T Daten der gesamten Woche anzeigen AWT, Swing, JavaFX & SWT 2
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
H JList zeigt die Daten aus dem Array nicht an! AWT, Swing, JavaFX & SWT 13
E Daten von JDialog nach JFrame übertragen AWT, Swing, JavaFX & SWT 4
K TableModel mit Daten aus Datenbank füllen AWT, Swing, JavaFX & SWT 7
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
L Swing Daten in JTable aktualisieren AWT, Swing, JavaFX & SWT 5
H Swing Tabelle nach Klick auf Button mit Daten füllen? AWT, Swing, JavaFX & SWT 2
B Swing JList Daten löschen AWT, Swing, JavaFX & SWT 13
R Swing XML Datei in JTree, Problem mit Daten einlesen AWT, Swing, JavaFX & SWT 34
A SWT: Daten in Raster mit Gitternetzlinien darstellen AWT, Swing, JavaFX & SWT 7
C Swing JTextField-Daten über mehrere Dialoge AWT, Swing, JavaFX & SWT 18
K TableModel Daten übergeben AWT, Swing, JavaFX & SWT 9
Milady Swing Änderung von Daten mit sql AWT, Swing, JavaFX & SWT 2
J Daten aus einer Textdatei in ArrayList holen AWT, Swing, JavaFX & SWT 9
X Swing Daten aus Vector ins TableModel ?? AWT, Swing, JavaFX & SWT 12
T Swing Liste von Daten anzeigen AWT, Swing, JavaFX & SWT 4
S Swing Daten aus Datenbank in JTable AWT, Swing, JavaFX & SWT 2
E JCombobox mit Daten aus DB füllen AWT, Swing, JavaFX & SWT 9
L Daten werden in JTable nicht angezeigt:( AWT, Swing, JavaFX & SWT 6
Milady Annzeigen alle Daten aus der Tabelle AWT, Swing, JavaFX & SWT 6
P Swing Liste von Daten auf JFrame AWT, Swing, JavaFX & SWT 6
E Daten aus sortierter Tabelle lesen AWT, Swing, JavaFX & SWT 2
X Swing JList -> Daten anders darstellen als im Model hinterlegt -> möglich ? AWT, Swing, JavaFX & SWT 9
X Doppelte Daten in DefaultListModel unterbinden AWT, Swing, JavaFX & SWT 3
ModellbahnerTT SWT Daten zur nächsten WizardPage senden AWT, Swing, JavaFX & SWT 4
J Daten in JTable nach Sortierung auslesen AWT, Swing, JavaFX & SWT 2
hdi Swing JTable & Filtern: Daten nicht in der View AWT, Swing, JavaFX & SWT 2
S JTable Bug - eingegebene Daten werden falsch geparst :( AWT, Swing, JavaFX & SWT 4
L AWT Daten vom Dialog an Frame senden AWT, Swing, JavaFX & SWT 3
hdi Swing JTable: Löschen vom Daten im Model AWT, Swing, JavaFX & SWT 7
U JTable mit Daten aus einer HashMap füllen AWT, Swing, JavaFX & SWT 8
S Swing Bei Klick auf OK Daten übergeben AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben