Letzter Versuch zum ändern

Status
Nicht offen für weitere Antworten.

mobile

Bekanntes Mitglied
Hi,

sitze hier nun seit mehreren Stunden und dicken Büchern, aber ich komme einfach nicht weiter. Beschreibe noch mal kurz alles.

Ich lese 20 Objekte der Klasse Disc ein und packe sie in die ArrayList liste.

Code:
//...
public ArrayList liste = new ArrayList();

//...

try {	
			for(byte i = 1; i <= MAX_TRACK ; i++) {	 
		 	    System.out.println("Track    : " + i);
				    
		 	    System.out.print("Interpret: ");
				String interpret = din.readLine();
				    
				System.out.print("Titel    : ");
				String titel = din.readLine();
						     
				System.out.print("Dauer    : ");
				String dauer = din.readLine();
				   			    
				System.out.println();
				
				//Neues Object von Disc wird angelegt und in Liste gepseichert
				Disc disc = new Disc(i, interpret, titel, dauer);
				liste.add(disc);
			}
//...

Dann bau ich mir einen Namen zusammen und unter diesem Namen wird die Liste dann serialisiert. Also habe ich jetzt ein Object in meiner Liste namens Disc_1.ser. Das ist dann für immer verfügbar, funktioniert alles pima auch mit mehreren Objekten (Disc_2.ser) usw.

Code:
//Liste wird serialisiert
				try {
					//Name für die List wird gebildet
					String listname = "Disc_";
					listname += String.valueOf(this.akMdnr);
					listname += ".ser";
			    
					FileOutputStream fs = new FileOutputStream(listname);
					ObjectOutputStream os = new ObjectOutputStream(fs);
					os.writeObject(liste);
				    os.close();
				}

Nun ist mein einziges Problem, was ich noch habe, dass man einzellne Objekte vom Typ Disc ja auch mal ändern muss. Sei es einfaach nur, weil man sich verschrieben hat. So kurz was ich vor habe:

Möchte zB Disc_2.ser öffnen und zB das 4 Element in der Liste ändern. Hab das jetzt so gemacht. Erst hab ich das Element gelöscht (geht super) und dann wollte ich es mit der dieser Methode wieder neu einlesen und dann an den alten Platz speichern, dass geht leider nicht.

Code:
public void reMake(byte track, String listname) {		
		//Neues Objekt wird erstellt
		try {	
			System.out.println("Track    : " + track);
				    
		 	System.out.print("Interpret: ");
			String interpret = din.readLine();
				    
			System.out.print("Titel    : ");
			String titel = din.readLine();
						     
			System.out.print("Dauer    : ");
			String dauer = din.readLine();
				   			    
			System.out.println();
				
			//Neues Object von Disc wird angelegt und in Liste gespeichert
			Disc newTrack = new Disc(track, interpret, titel, dauer);
			liste.set((track - 1), newTrack);	
			
			//Liste wo eingefügt werden soll wird geöffnet
			FileOutputStream fs = new FileOutputStream(listname);
			ObjectOutputStream os = new ObjectOutputStream(fs);
			os.writeObject(liste);
		    os.close();
		}
		catch(IOException e) {
			System.out.println("***Fehler beim Speichern***");
		}		
	}

Das Element wird wie schon gesag einfach nur gelöscht und dass Objekt was ich mit reMake wieder erstelle wird nicht gespeichert.

Hoffe, ihr könnt mir helfen!!!

Danke!
 

bubu

Mitglied
Das heisst, das Objekt wird korrekt serialisiert (am Ende der reMake-Methode), aber ohne das neue Objekt?

Übrigens: Warum heisst deine Klasse Disc nicht Track? ; )
 
G

Guest

Gast
richtig genau so ist es. Weiß nicht hab ich eben Disc genannt... egal...
 

NTB

Bekanntes Mitglied
Möchte zB Disc_2.ser öffnen und zB das 4 Element in der Liste ändern. Hab das jetzt so gemacht. Erst hab ich das Element gelöscht (geht super) und dann wollte ich es mit der dieser Methode wieder neu einlesen und dann an den alten Platz speichern, dass geht leider nicht.
Du brauchst das Element nicht erst löschen und dann wieder einfügen.
Du holst es Dir einfach und änderst es. Es wird dann auch in der Liste geändert, weil in der Liste eh nur Referenzen zu Deinem Objekt stehen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T osgi Preferences, letzter pathName Allgemeine Java-Themen 19
G Letzter Zugriff auf Datei Allgemeine Java-Themen 5
M Programmablauf nach letzter eingabe erst fortsetzten Allgemeine Java-Themen 2
S Beliebige Dateiinformationen auslesen z.B. Letzter Zugriff Allgemeine Java-Themen 4
T Dateieigenschaft "letzter Zugriff" "last acce Allgemeine Java-Themen 5
B letzter Tag des Vormonats Allgemeine Java-Themen 3
B Lottospielen mit System, Versuch 2, noch umständlicher als vorher Allgemeine Java-Themen 1
D Versuch Server - Client anwendung Allgemeine Java-Themen 9
B Exception bei einem Decrypt versuch. Allgemeine Java-Themen 4
N NoSuchMethodException bei Reflection-Versuch, aber warum? Allgemeine Java-Themen 3
torresbig Klasse mit extends Calendar über Methoden ändern (Hirnblockade) Allgemeine Java-Themen 7
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
Z Java Testklassenvariable ändern im Hauptprogramm Allgemeine Java-Themen 5
L Uhrzeit von 24-Uhr zu 12-Uhr ändern Allgemeine Java-Themen 2
Thallius Zeitzone zu einem LocalDate hinzufügen aber ohne es zu ändern... Allgemeine Java-Themen 2
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
W Classpath Reflexion - Prüfen ob man auf ein Feld ändern kann Allgemeine Java-Themen 2
J Jasper Reports - Subreport zur Laufzeit ändern Allgemeine Java-Themen 6
N Variablen Array Länge ändern. Allgemeine Java-Themen 8
R Methoden Was fehlt mir bzw. muss ich bei der Methode countHarshabNumbers ändern damit ich die Harshad Zahlen im Intervall [51, 79] zählen kann? Allgemeine Java-Themen 19
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
L Hintergrundfarbe jedes spinner-Elements ändern Allgemeine Java-Themen 1
Q Eclipse Escape Sequenzen Farbe ändern Allgemeine Java-Themen 4
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E javax.mail sene Type ändern Allgemeine Java-Themen 2
J Farbe von Buttons mehrmals ändern Allgemeine Java-Themen 5
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
B ImageView Farbe ändern Allgemeine Java-Themen 3
J Eine bestimmte Zahl im Integer ändern Allgemeine Java-Themen 9
T ändern neue Java Versionen was an der Programmiersprache? Allgemeine Java-Themen 15
R Zeitformat ändern Allgemeine Java-Themen 18
olfibits Erste Schritte Konsolentitel ändern Allgemeine Java-Themen 3
R Variable durch mehrere Methoden ändern und nutzen Allgemeine Java-Themen 17
S Kann man mit Java auf einem lokalen PC/Mac Benutzergruppen auslesen und Rechte ändern? Allgemeine Java-Themen 11
N Das Ende von bestimmten zeilen in text datei ändern und speichern Allgemeine Java-Themen 3
B Input/Output Datei ändern Allgemeine Java-Themen 9
T JasperReport Hintergrundfarbe wertabhängig ändern Allgemeine Java-Themen 3
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
M Variable ändern bei jedem Schleifendurchlauf Allgemeine Java-Themen 32
RalleYTN DPI eines Bildes ändern Allgemeine Java-Themen 4
K eclipse Workspace ändern Allgemeine Java-Themen 2
J Properties file ändern Allgemeine Java-Themen 12
R WebDriver Firefox preferences ändern Allgemeine Java-Themen 0
W Input/Output Kann .properties Datei in kompilierter .jar nicht ändern Allgemeine Java-Themen 2
G Unix Passwort mit Java ändern? Allgemeine Java-Themen 3
M OOP Bildschirmauflösung des Systems ändern Allgemeine Java-Themen 0
Avarion Font von StyledDocument ändern Allgemeine Java-Themen 0
chuxXo System/JLayer Volume ändern Allgemeine Java-Themen 0
Thallius App-Sprache in der App ändern. Wo ist mein Denkfehler? Allgemeine Java-Themen 6
Tausendsassa Interface Buttons Background ändern! Wie?? Allgemeine Java-Themen 10
E Apache POI Powerpoint Verlinkungen ändern Allgemeine Java-Themen 4
R Int Wert im Dialogfeld ändern Allgemeine Java-Themen 4
Ananaskirsche Best Practice Sprachen ändern für Consolenausgaben Allgemeine Java-Themen 2
P Sprache ändern ins Programm einbinden Allgemeine Java-Themen 6
M String an einem abschnitt ändern Allgemeine Java-Themen 14
S Name einer Musikdatei auslesen und ändern Allgemeine Java-Themen 8
M Threads Bildformat mit java ändern Allgemeine Java-Themen 2
x22 Hintergrund in Netbeans ändern Allgemeine Java-Themen 3
M Zufälligen String generieren und alle 5 Minuten ändern Allgemeine Java-Themen 2
C Input/Output Bestimmte Zeile in Datei ändern. Allgemeine Java-Themen 13
B Swing Look And Feel ändern Allgemeine Java-Themen 15
jstei001 Reguläre Ausdrücke bearbeiten/ändern Allgemeine Java-Themen 14
H CLASSPATH im Javaprogramm ändern Allgemeine Java-Themen 5
S Datentypen Eine Variable von String zu Int ändern Allgemeine Java-Themen 5
B Input/Output Dateiendung ändern Allgemeine Java-Themen 6
P ganze Zeilen in einem File mit .replace() ändern. Allgemeine Java-Themen 10
Y Bildschirmauflösung ändern Allgemeine Java-Themen 5
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
S Klassen .jar - eine .class datei ändern? Allgemeine Java-Themen 23
C Auf eine Methode von einer anderen Klasse aus ändern? Allgemeine Java-Themen 4
N .doc text ändern Allgemeine Java-Themen 12
X XML Dateien ändern Allgemeine Java-Themen 2
W LayoutManager Position der Componenten nachträglich ändern Allgemeine Java-Themen 12
A Ordnerberechtigungen ändern Allgemeine Java-Themen 10
Dit_ Registry, Preferences | Name des Knotens ändern. Allgemeine Java-Themen 2
R Windows - User Passwort ändern Allgemeine Java-Themen 2
S UML zur Laufzeit ändern Allgemeine Java-Themen 10
S equals - Identität ändern bei Vererbung? Allgemeine Java-Themen 5
S TreeSet - Comparator ändern -> resort? Allgemeine Java-Themen 8
E FF Einstellungen über Programm ändern? Allgemeine Java-Themen 7
M Grösse eines JTabbedPane ändern Allgemeine Java-Themen 2
L Kurzfristig Bildschirmauflösung ändern Allgemeine Java-Themen 2
Burny91 JAR-Datei Icon ändern Allgemeine Java-Themen 2
W Dateiinfo auslesen/ändern Allgemeine Java-Themen 3
S Tastaturbelegung global ändern Allgemeine Java-Themen 5
Q .jar wird mit cmd gestartet - Zuordnung von Dateitypen ändern (Windows 7) Allgemeine Java-Themen 7
H Erstelldatum einer Datei ändern. Allgemeine Java-Themen 3
T Wie kann man bei CheckBoxTrees die Checkboxzustände ändern? Allgemeine Java-Themen 2
K Ordnername ändern Allgemeine Java-Themen 2
Dissi Gammawerte des Grafiktreibers / System ändern? Allgemeine Java-Themen 3
E Objekt bei Serialisierung ändern Allgemeine Java-Themen 2
V Druckereigenschaften ändern? Allgemeine Java-Themen 17
G Jar File zur Laufzeit ändern. Allgemeine Java-Themen 4
C IP Adresse mit Java ändern? Allgemeine Java-Themen 9
A Ordnerrechte / Zugriffsrechte mit Java ändern? Allgemeine Java-Themen 10
M Dateinamen ändern Allgemeine Java-Themen 3
E *.class ändern/ersetzen/überschreiben. Allgemeine Java-Themen 9

Ähnliche Java Themen


Oben