java problem - speichern

Status
Nicht offen für weitere Antworten.

baczu1984

Mitglied
hallo !!
ich hab problem und zwar, in projekt sollte wsich kd nach registrierung in datei UserIndex.dat speichern und das klappt, aber wenn ich 2 kunde anlegen moechte dann tut sich nicht ...


package gui;


import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io_ObjectInputStream;
import java.io_ObjectOutputStream;
import java.io.Serializable;


public class UserSpeicher {

// Speichern von Bedienern
public static void save(){
try{


FileOutputStream fos = new FileOutputStream("UserIndex.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);

for(int i=0;i<Person.kList.size();i++){
oos.writeObject(Person.kList.elementAt(i));

}
oos.close();
fos.close();
}
catch(IOException e) {
System.err.println("");
}
}


//Laden von Bedienern
public static void load(){

try{
FileInputStream fis = new FileInputStream("UserIndex.dat");
ObjectInputStream ois = new ObjectInputStream(fis);

//falls schon einmal die Daten geladen wurden, werden diese erstmal gelöscht

Person.kList.removeAllElements();
while(true) {

try{
Person person = (Person) ois.readObject();
Person.kList.addElement(person);
}
catch(EOFException e) {break;}
}
}
catch(FileNotFoundException e){System.err.println(e.toString());}
catch(IOException e){System.err.println(e.toString());}
catch(ClassNotFoundException e){System.err.println(e.toString());}

}




}




package gui;


import javax.swing.JPanel;
import java.awt.GridBagLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;

import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JProgressBar;
import javax.swing.JInternalFrame;
import javax.swing.JTextPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JDesktopPane;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextField;
import javax.swing.JEditorPane;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JSlider;
import javax.swing.JList;
import javax.swing.JLabel;
import javax.swing.JToolBar;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import java.util.*;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

import javax.swing.JFrame;
import javax.swing.JPanel;

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JPasswordField;


public class Regist extends JFrame implements ActionListener{



private JPanel jContentPane = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JLabel jLabel11 = null;
private JLabel jLabel111 = null;
private JLabel jLabel1111 = null;
private JButton jButton = null;
private JTextField jTextField = null;
private JTextField jTextField1 = null;
private JTextField jTextField11 = null;
private JButton jButton1 = null;
private JPasswordField jPasswordField = null;
//konstruktor
public Regist(){
super();
initialize();
}

private void initialize(){
this.setSize(530, 380);
this.setContentPane(getJContentPane());
this.setContentPane(getJContentPane());
this.setTitle("REGISTRIERUNG");
}


private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel1111 = new JLabel();
jLabel1111.setBounds(new Rectangle(49, 229, 89, 27));
jLabel1111.setText("PASSWORT");
jLabel111 = new JLabel();
jLabel111.setBounds(new Rectangle(49, 178, 89, 27));
jLabel111.setText("LOGIN");
jLabel11 = new JLabel();
jLabel11.setBounds(new Rectangle(50, 130, 89, 27));
jLabel11.setText("NACHNAME");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(50, 80, 89, 27));
jLabel1.setText("VORNAME");
jLabel = new JLabel();
jLabel.setText(" REGISTRIEREN");
jLabel.setBounds(new Rectangle(203, 27, 104, 30));
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
jContentPane.add(jLabel1, null);
jContentPane.add(jLabel11, null);
jContentPane.add(jLabel111, null);
jContentPane.add(jLabel1111, null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJTextField1(), null);
jContentPane.add(getJTextField11(), null);
jContentPane.add(getJButton1(), null);
jContentPane.add(getJPasswordField(), null);

}
return jContentPane;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(382, 300, 107, 27));
jButton.setText("Speichern");
jButton.addActionListener(this);
}
return jButton;
}

/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(180, 80, 216, 27));
jTextField.addActionListener(this);
}
return jTextField;
}

/**
* This method initializes jTextField1
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField1() {
if (jTextField1 == null) {
jTextField1 = new JTextField();
jTextField1.setBounds(new Rectangle(180, 130, 216, 27));
jTextField1.addActionListener(this);
}
return jTextField1;
}

/**
* This method initializes jTextField11
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField11() {
if (jTextField11 == null) {
jTextField11 = new JTextField();
jTextField11.setBounds(new Rectangle(180, 180, 216, 27));
jTextField11.addActionListener(this);
}
return jTextField11;
}

private JPasswordField getJPasswordField() {
if (jPasswordField == null) {
jPasswordField = new JPasswordField();
jPasswordField.setBounds(new Rectangle(180, 230, 216, 27));
jPasswordField.addActionListener(this);
}
return jPasswordField;
}


private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(30, 300, 107, 27));
jButton1.setText("Abbrechen");
jButton1.addActionListener(this);
}
return jButton1;
}




public void actionPerformed(ActionEvent e) {

Fkt y=new Fkt();

if(e.getActionCommand().equals("Abbrechen")){
//event();
//input_windows.setVisible(false);

if(y.Yes_No_Message("Möchten Sie wirklich abbrechen? ") == 0){


this.setVisible(false);
this.dispose();
}}

if(e.getActionCommand().equals("Speichern")){
if(jTextField1.getText().equals("")==true || jTextField1.getText().length()<3) {
if(jTextField1.getText().equals("")==true) y.Message("Kein Nachname eingegeben!\nEr muss mindestens aus 3 Zeichen bestehen");
else y.Message("Nachname zu kurz!\nEr muss mindestens aus 3 Zeichen bestehen");
}
else {
if(jTextField.getText().equals("")==true || jTextField.getText().length()<2) {
if(jTextField.getText().equals("")==true) y.Message("Kein Vorname eingegeben!\nEr muss mindestens aus 3 Zeichen bestehen");
else y.Message("Vorname zu kurz!\nEr muss aus mindestens 2 Zeichen bestehen!");
}
else {
if(jTextField11.getText().equals("")==true || jTextField11.getText().length()<4){
if(jTextField11.getText().equals("")==true) y.Message("Kein Login eingegeben!\nEr muss mindestens aus 3 Zeichen bestehen");
else y.Message("Login zu kurz!\nEr muss aus mindestens 2 Zeichen bestehen!");
}

else {
UserSpeicher.load();
boolean test = false;

for(int i=0;i<Person.kList.size();i++){
Person person = new Person();
person = (Person)Person.kList.elementAt(i);
if(person.getLogin().equals(jTextField11.getText()))test=true;}

Verwalter admin=new Verwalter();
if (test==true|| (jTextField11.getText().equalsIgnoreCase(admin.getVerwalterLogin())==true)){
y.Message("Login bereits vorhanden!");
}
else {
char[] pass1 = jPasswordField.getPassword();


int newlength = 0;
if (pass1.length<5) {
if(pass1.length==0) y.Message("Kein Passwort eingetragen!");
else if(pass1.length<5) y.Message("Passwort zu Kurz! Es muss mindestens 5 Zeichen haben!");

}


else {
if(y.Yes_No_Message("Wiklich speichern?")==0){
Person person=new Person();
person.setSurname(jTextField1.getText());
person.setFirstname(jTextField1.getText());
person.setLogin(jTextField11.getText());
person.setPasswort(jPasswordField.getPassword());

person.setSperre(false);
Person.kList.addElement(person);
UserSpeicher.save();
y.Message("Daten gespeichert!");
this.setVisible(false);


}
}

}
}
}
}
}
}
}
 

Leroy42

Top Contributor
baczu1984 hat gesagt.:
aber wenn ich 2 kunde anlegen moechte dann tut sich nicht ...

Aha! Und was genau "tut sich nichts"?

- Die GUI friert ein?
- Der Monitor bleibt dunkel?
- Die Festplatte dreht sich nicht?
...

:shock:
 
S

SlaterB

Gast
Code:
for (int i = 0; i < Person.kList.size(); i++) {
  Person person = new Person();
  person = (Person) Person.kList.elementAt(i);
solltest du dir dringend abgewöhnen,
da werden unnötig Person-Objekte erzeugt und gleich wieder verworfen
(da ja die Objekte aus der Liste benutzt werden)

Person person = null;
person = (Person) Person.kList.elementAt(i);
oder
Person person = (Person) Person.kList.elementAt(i);
tuts doch auch

-----------

nachdem ich das bei mir mühsam mühsam zum laufen gebracht habe
(Person-Klasse fehlt, main, Fkt)
scheint es einfach am Fehlenden Schließen der Streams zu liegen:

ois.close();
fis.close();

bei mir läufts dann
 
S

SlaterB

Gast
von so einer Fehlermeldung habe ich noch nie gehört,

Compilerfehler, Exception?
welche Zeile?

wie sieht dein Code nun aus? (bitte nur die geänderten Operationen, also eigentlich nur load()?)

blöde Kurzantwort :bae:
 
S

SlaterB

Gast
hier kann man ja verrückt werden, was soll ich denn mit Zeile 51 anfangen?
noch nicht mal dein alter Code hatte eine Nummerierung, und wahrscheinlich hast du doch nun irgendwas geändert?

-->
WIE SIEHT DEIN CODE NUN AUS? (bitte nur die geänderten Operationen, also eigentlich nur load()?)
und die Zeile markieren in der der Fehler auftritt oder für korrekte Nummerierung sorgen

nach erfolgter Erinnerung nun sehr blöde Kurzantwort :bae: :bae:

------------


falls du verrückerweise den Person-Code meinst (der gar nix mit deiner Frage zu tun hatte),
da darfst du
for (int i = 0; i < Person.kList.size(); i++) {
natürlich nciht weglassen!

also
for (int i = 0; i < Person.kList.size(); i++) {
Person person = null;
person = (Person) Person.kList.elementAt(i);

oder

for (int i = 0; i < Person.kList.size(); i++) {
Person person = (Person) Person.kList.elementAt(i);

ojeoje
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Java modul Problem Allgemeine Java-Themen 4
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
xGh0st2014 Problem mit Java Array Allgemeine Java-Themen 1
J Problem beim Umstellen auf Java jdk 13 Allgemeine Java-Themen 3
J Problem bei Install java 13 Allgemeine Java-Themen 3
A Problem beim öffnen von Java-Installern Allgemeine Java-Themen 1
B Problem zu einem Java Projekt Allgemeine Java-Themen 6
S Java OpenOffice Problem mit Windows-Benutzerwechsel Allgemeine Java-Themen 19
C J2V8 NodeJs Java Bride Problem und Frage!?!? Allgemeine Java-Themen 1
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
Seikuassi Input/Output Java transferTo ByteArrayOutputStream-Problem Allgemeine Java-Themen 4
K Problem: Java-Klasse mit mehreren Threads als eigenen Prozess starten Allgemeine Java-Themen 3
B Best Practice Java Zugriffsrechte Problem Allgemeine Java-Themen 2
B Java Zahlenausgabe Problem Allgemeine Java-Themen 6
N Problem mit Java Sperrlisten Allgemeine Java-Themen 0
F Java Spiel Sprung problem Allgemeine Java-Themen 5
G JavaFX Problem nach Update auf Java 8 Allgemeine Java-Themen 0
S Java Problem bei der Rückgabe eines Arrays Allgemeine Java-Themen 19
M Problem mit (etwas komplizierterem) Java Programm Allgemeine Java-Themen 14
W Java Logging Problem Allgemeine Java-Themen 3
K java problem Allgemeine Java-Themen 5
B java.io.IOException: Problem reading font data. Allgemeine Java-Themen 9
H Problem mit Java Generics Allgemeine Java-Themen 6
P Eclipse Java Native Interface-Problem Allgemeine Java-Themen 8
I Java als Dienst Problem Allgemeine Java-Themen 2
F Problem mit Java 7 und Proguard Allgemeine Java-Themen 6
L Input/Output Java und CMD Problem Allgemeine Java-Themen 3
C Java Server Pages Problem Allgemeine Java-Themen 6
M Lego Nxt und Java Problem Allgemeine Java-Themen 8
S Perfomance Problem mit Java Applikation Allgemeine Java-Themen 4
G Problem Java Mail API: CC wird nicht berücksichtigt Allgemeine Java-Themen 7
P Problem mit Java Web Start Allgemeine Java-Themen 1
J Eclipse Java Build Path / Java Problem??? Allgemeine Java-Themen 13
B USB-I2C Adapter JAVA problem Allgemeine Java-Themen 6
D Problem mit java.sql.Timestamp Allgemeine Java-Themen 2
L Problem mit Hintergrund bei JAVA Applet Allgemeine Java-Themen 27
D Problem mit Java version? Allgemeine Java-Themen 4
P Zip Problem in Java Allgemeine Java-Themen 4
N Kleines nicht java Problem Allgemeine Java-Themen 7
G Problem mit RSA Verschlüsselung bei .net und Java Allgemeine Java-Themen 1
Chris81T Performance Problem durch mehrfaches Starten eines JAVA Prog Allgemeine Java-Themen 8
V Java heap space Problem Allgemeine Java-Themen 8
T Problem: eclipse / Java / cyrillisch Allgemeine Java-Themen 4
D Problem mit java.util.scanner: Falsche Ergebnisse Allgemeine Java-Themen 4
S Java 5/6 Problem im Classpath Allgemeine Java-Themen 11
F Problem mit Java Listen Allgemeine Java-Themen 4
M Java applet zusammen mit DHTML z-index Problem Allgemeine Java-Themen 2
G problem mit java-editor Allgemeine Java-Themen 4
H Problem mit Java (dsound.dll) Allgemeine Java-Themen 5
E Java.net und Thread-Problem Allgemeine Java-Themen 2
S Problem mit backreference mit java und regex Allgemeine Java-Themen 7
L WindowsTrayIcon in Java 1.4 - Problem beim ausführen der JAR Allgemeine Java-Themen 2
C Java Batch Warte Problem Allgemeine Java-Themen 4
P Java Acces Datenbank Problem ! (Brauche eine Abfrage) Allgemeine Java-Themen 5
G Java-Problem mit Netbeans Allgemeine Java-Themen 2
J Problem mit Java Multimedia Framework Allgemeine Java-Themen 6
G Problem mit Java Fenstern Allgemeine Java-Themen 2
T Problem RSA-Algorithmus in Java? Allgemeine Java-Themen 2
G Problem mit java.lang.reflect.Field Allgemeine Java-Themen 15
G java! Problem mit Chat-Applet Allgemeine Java-Themen 3
S Problem beim Bearbeiten von Java-Dateien unter Linux Allgemeine Java-Themen 3
R Browser-Problem nach Java-Update Allgemeine Java-Themen 9
D (gelöst) Java-Problem bei freemind mit fedora core 4 Allgemeine Java-Themen 9
G Java Server Faces - Problem Allgemeine Java-Themen 2
L-ectron-X Problem mit Collections.sort() mit Java 1.5 Allgemeine Java-Themen 9
C Hilfe! Java Control Panel & Limewire Problem! Allgemeine Java-Themen 3
A Probleme bei der Berechnung von Pi! Java Problem Allgemeine Java-Themen 2
G jTable-Problem --> java.lang.OutOfMemoryError Allgemeine Java-Themen 5
T JAVA+SQL=Mysteriöses Problem Allgemeine Java-Themen 3
P java exe erstellen problem Allgemeine Java-Themen 3
N Java Problem mit WIN ME Allgemeine Java-Themen 2
theJavaMaschine Mitstreiter gesucht: Gemeinsam Java und Android Development lernen! Allgemeine Java-Themen 5
PARAS Karriereberatung benötigt: Wie kann ich ein Java Full Stack Entwickler werden? Allgemeine Java-Themen 7
P Java Access Bridge Allgemeine Java-Themen 5
W ICEpdf PDF-Dateien werden mit Java 21 nicht nicht mehr vollständig dargestellt Allgemeine Java-Themen 3
MiMa Grundsätzliche Frage zur Verwendung von Java Versionen?? Allgemeine Java-Themen 3
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben