Variablen Variable Speichern?

Hallo Liebe Java Community,

Ich hab eine kleine aber für mich wichtige frage,ich möchte einen Text mit einen Variable anzeigen lasse,und ich möchte das sich,falls die Variable ändern,das die VARIABLE die sich geändert hat das sie auch für immer so bleibt,also das sich die Variable SPEICHERT
Beispiel:
Variable heißt TEST Und hat den Wert 0
Der Text ist:Die Variable Test hat den wert(Wert von Test,das heißt 0)
Jetzt ändert sich der Wert von TEST Zu 1.
Der Text ist nun:Die Variable Test hat den wert(Wert von Test,das heißt 1)
Nun möchte ich aber das falls sich die Datei komplett beendet das sich die Zahl 1 speichert und nicht zurück zu 0 springt.
Wie mach ich das?
PS:Schreibe das auf meinem iPad,d.h ich kann kein java Code als Beispiel zeigen und ich entschuldige mich für Rechtsschreibfehler und ich weiß auch wie so ein Text erzeugt wird,ich will nur wissen wie er GESPEICHERT wird,also die Variable

Mit freundlichen Grüßen Zeroinfinity337
PS2:Ich brauch das für mein Spiel als Level bzw. Geld System :)
danke Schonmal!
 
Zuletzt bearbeitet:

fLooojava

Bekanntes Mitglied
Meinst du sowas wie die aktuelle Variable in ein file rausschreiben bzw. einen Datenbank Eintrag vollenden oder einfach in eine .txt reinschreiben - anschließend diese wieder öffnen um die Variable zu überschreiben?

Das wäre möglich, obs einen aderen Weg gibt kann ich dir nicht sagen.
 
Zuletzt bearbeitet:
Öhm... Keine Ahnung bin noch neu in java daher hab ich vom beiden keine Ahnung xD
Aber ich möchte das nur das Programm die Variable ändern kann und das man nicht iwie in den Dateien rumpfuschen kann und da iwas erhöhen kann

EDIT:ich hab ja von properties gelesen,die kann man aber von außen verändern,kennt jemand eine andere Lösung um Variablen zu speichern?
 
Zuletzt bearbeitet:

knilch

Bekanntes Mitglied
Hi,
Ich denke, dass das Speichern von Zuständen in eine Text- Datei nicht so klug ist. Die Text- Datei kann verändert werden und so Variablen Werte zugewiesen werden, die nicht valid sind. z.b. einer bool- Variable ein String zuweisen etc.
Du müsstest nach dem Einlesen der Text- Datei alle Werte überprüfen, ob sie valid sind.
Zum zweiten, in einer Text- Datei können x beliebige Werte zugwiesen werden.
z.b. du hast ein Programm dass ein Guthaben speichert.
Ein Spieler hat Schulden von 100 €. Nun hast speicherst du dieses Guthaben in einer Text- Datei ab. In der Text- Datei kann nun aus -100 € wieder +100 € oder mehr werden.
Des weiteren, wie kannst du sicher sein, dass die Text- Datei nicht verändert wurde?
Das Schreiben der Variablenwerte in eine Text- Datei ist für diesen nicht geeignet.

Schau dir mal das Thema: Persistente Objekte und Serialisierung an (besonders das Interface Serializable): Galileo Computing :: Java ist auch eine Insel – 17.10 Persistente Objekte und Serialisierung


gruss knilch
 
Ok Danke!!!!
Das scheint das zu sein was ich gesucht habe,aber mich macht da so ein satz unsicher:
. Dabei werden die Objektzustände(keinestatischen!)in einen Byte-Strom geschrieben (Serialisierung), woraus sie später wieder zu einem Objekt rekonstruiert werden können (Deserialisierung).

Nun die entscheidende frage...ist eine Variable ein objekt?
MFG Zeroinfinity337
 

knilch

Bekanntes Mitglied
Hi,
Keine statischen ist gemeint, dass keine Klassen- Variablen gespeichert werden. Alles in Java ist ein Objekt ;).
Bei der Objekt- Serialisierung geht es darum, dass Instanzen (und all ihren Variablen) in eine Datei oder als Bytestrom Serialisiert werden und dann später wieder deserialisiert werden, um den Zustand zurück zu erhalten, der bei der Serialisierung vorhanden war.

Gruss knilch
 
Zuletzt bearbeitet:

knilch

Bekanntes Mitglied
Hi,
Hier mal ein Beispiel:
(du must eventuell den Pfad anpassen, in dem die beiden serialisierten Objekte gespeichert und gelesen werden sollen ... ist im Moment auf C:\tmp\ )
Java:
public class Employee implements java.io.Serializable {

	private String name;
	private String address;
	private transient int SSN;
	private int number;

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the address
	 */
	public String getAddress() {
		return address;
	}
	/**
	 * @param address the address to set
	 */
	public void setAddress(String address) {
		this.address = address;
	}
	/**
	 * @return the sSN
	 */
	public int getSSN() {
		return SSN;
	}
	/**
	 * @param sSN the sSN to set
	 */
	public void setSSN(int sSN) {
		SSN = sSN;
	}
	/**
	 * @return the number
	 */
	public int getNumber() {
		return number;
	}
	/**
	 * @param number the number to set
	 */
	public void setNumber(int number) {
		this.number = number;
	}
}

Java:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class SerializeDemo {
	   public static void main(String [] args) {
	      Employee e1 = new Employee();
	      e1.setName("Hans Muster");
	      e1.setAddress("Mustergasse 1, Musterhausen");;
	      e1.setSSN(11122333);
	      e1.setNumber(101);
	      Employee e2 = new Employee();
	      e2.setName("Anna Muster");
	      e2.setAddress("Mustergasse 1, Musterhausen");;
	      e2.setSSN(11122334);
	      e2.setNumber(102);
	      
	      try
	      {
	         FileOutputStream fileOut = new FileOutputStream("c:\\tmp\\hans.ser");
	         ObjectOutputStream out = new ObjectOutputStream(fileOut);
	         out.writeObject(e1);
	         out.close();
	         fileOut.close();
	         
	         fileOut = new FileOutputStream("c:\\tmp\\anna.ser");
	         out = new ObjectOutputStream(fileOut);
	         out.writeObject(e2);
	         out.close();
	         fileOut.close();
	         System.out.printf("Serialized data is saved in /tmp/employee.ser");
	      }catch(IOException i) {
	          i.printStackTrace();
	      }
	   }
}

Java:
import java.io.*;

public class DeserializeDemo {
   public static void main(String [] args) {
      Employee hans = null;
      Employee anna = null;
      
      try {
         FileInputStream fileIn = new FileInputStream("c:\\tmp\\hans.ser");
         ObjectInputStream in = new ObjectInputStream(fileIn);
         hans = (Employee) in.readObject();
         in.close();
         fileIn.close();
         
         fileIn = new FileInputStream("c:\\tmp\\anna.ser");
         in = new ObjectInputStream(fileIn);
         anna = (Employee) in.readObject();
         in.close();
         fileIn.close();
         
         
      }catch(IOException i) {
         i.printStackTrace();
         return;
      }catch(ClassNotFoundException c) {
         System.out.println("Employee class not found");
         c.printStackTrace();
         return;
      }
      System.out.println("Deserialized Employee HANS");
      System.out.println("Name: " + hans.getName());
      System.out.println("Address: " + hans.getAddress());
      System.out.println("SSN: " + hans.getSSN());
      System.out.println("Number: " + hans.getNumber());
      System.out.println();
      System.out.println("Deserialized Employee ANNA");
      System.out.println("Name: " + anna.getName());
      System.out.println("Address: " + anna.getAddress());
      System.out.println("SSN: " + anna.getSSN());
      System.out.println("Number: " + anna.getNumber());
    }
}

ps.
Wenn ein Variable- Wert nicht serialisiert werden soll, muss dies explizit definiert werden. Wie z.B. in der Klasse Employee die int- Variable SSN.
Deshalb erscheint im Output: SSN: 0.


Gruss knilch
 
Zuletzt bearbeitet:

BuddaKaeks

Bekanntes Mitglied
nebenbei, wenn du wirklich nicht möchtest, dass irgendjemand deine Datei ändert, kannst du das serialisierte Objekt noch dur ne Hash-Funktion jagen, oder mittels RSA verschlüsseln.

Musst du nur beim einlesen vor der deserialisierung wieder zurück verwandeln
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
K String einlesen und als Variable speichern Java Basics - Anfänger-Themen 8
M Input/Output Alle Zeilen auslesen und in Variable speichern Java Basics - Anfänger-Themen 5
Z Greenfoot Variable in einer Datei und nicht in einem Objekt/World speichern Java Basics - Anfänger-Themen 1
B Best Practice Bestimmte Zahl auslesen und in Variable speichern Java Basics - Anfänger-Themen 3
S Input/Output GUI Eingabe in JTextfield in Variable speichern Java Basics - Anfänger-Themen 7
R Php werte in jquery variable speichern für autocomplete Java Basics - Anfänger-Themen 7
B Werte der Variable aus Klasse JTextArea in einer Datei der Klasse RandomAcessFile speichern Java Basics - Anfänger-Themen 10
L Jtext in variable speichern Java Basics - Anfänger-Themen 3
B Datentypen char, int, float in String Variable speichern Java Basics - Anfänger-Themen 4
S bedingung in variable speichern? Java Basics - Anfänger-Themen 8
K Variable in Variable speichern Java Basics - Anfänger-Themen 4
Zed Stream in Variable speichern. Java Basics - Anfänger-Themen 3
G Variable in Datei speichern Java Basics - Anfänger-Themen 4
G Klasse in Variable speichern Java Basics - Anfänger-Themen 7
P Inhalt von org.w3c.dom.Document in String Variable speichern Java Basics - Anfänger-Themen 3
S externe URL öffnen und in Variable speichern. Java Basics - Anfänger-Themen 9
M JavaApplet: Variable in Session speichern o.Ä? Java Basics - Anfänger-Themen 10
B Code in Variable speichern Java Basics - Anfänger-Themen 12
B variable deklaration und wert speichern in 2 anweisungen? Java Basics - Anfänger-Themen 20
G Textfeld auslesen und in double-Variable speichern Java Basics - Anfänger-Themen 2
P Instanz in einer Variable speichern ? Java Basics - Anfänger-Themen 4
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
W Schleife und einmal variable++ zu viel Java Basics - Anfänger-Themen 20
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
G variable kopieren bzw. woanders benutzen Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
J Double Variable und Addition Java Basics - Anfänger-Themen 2
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
H Datentypen Wertebereich von <Klassenname> <Variable> Java Basics - Anfänger-Themen 12
M Private Variable Java Basics - Anfänger-Themen 2
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
s.marcii Modulo in der Variable einsetzen - ist das möglich? Java Basics - Anfänger-Themen 2
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
Y Wie kann ich die Variable in der Try Catch returnen? Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
B Inkrement von Variable Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
J JTextField Bezeichnung als Variable Java Basics - Anfänger-Themen 3
N Wie kann ich eine meine Variable Final machen? Java Basics - Anfänger-Themen 1
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
H Variable um 1 erhört ausgeben Java Basics - Anfänger-Themen 4
V Erste Schritte Eine Array-Variable mit Benutzereingaben befüllen Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
C Statischer Typ aber Variable nicht statisch? Java Basics - Anfänger-Themen 5
H Variable.methode aufstellen, verstehen Java Basics - Anfänger-Themen 2
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
S Variable einscannen Java Basics - Anfänger-Themen 30
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
J Input-Variable nicht sichtbar Java Basics - Anfänger-Themen 2
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
S Variable Parameter Java Basics - Anfänger-Themen 5
P if - Statement erkennt variable nicht. Java Basics - Anfänger-Themen 12
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
R Variablen Variable an FXML-Controller übergeben Java Basics - Anfänger-Themen 4
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
R variable istpositiv might not have been initialized Java Basics - Anfänger-Themen 2
A Methodenname aus variable Java Basics - Anfänger-Themen 2
L Variable aus einer Klasse in einer anderen Klasse nutzen Java Basics - Anfänger-Themen 6
P Methode soll Variable einer anderen Klasse ändern. Wie? Java Basics - Anfänger-Themen 1
Hanschyo Variable nicht initialisiert Java Basics - Anfänger-Themen 6
deatzi Variable aus If Abfrage später nutzen Java Basics - Anfänger-Themen 4
L Variable in If-Statement initialisieren Java Basics - Anfänger-Themen 4
C return kann nicht auf variable zugreifen Java Basics - Anfänger-Themen 26

Ähnliche Java Themen

Neue Themen


Oben