T
thefrozeneye
Gast
Hallo ich habe folgendes Problem:
ich habe eine Klasse die schreibt Infos in eine Datei(also die Write-Klasse)
und eine Read die alles rausliest und dann ausgibt
Achja, ich habe einen Denkfehler gemacht, den ich nicht finden kann
Hier die Write-Klasse
und hier die Read Klasse (ich glaube der Fehler ist in der Read Klasse, weil die Write-Klasse vorhin Fehlerfrei funktionierte)
mfg
ich habe eine Klasse die schreibt Infos in eine Datei(also die Write-Klasse)
und eine Read die alles rausliest und dann ausgibt
Achja, ich habe einen Denkfehler gemacht, den ich nicht finden kann
Hier die Write-Klasse
Code:
package beispiel;
import java.io.*;
import javax.swing.JOptionPane;
public class UserDataWrite {
public static String UserDataWrites() {
String x="";
File f=new File("test.txt");
String datei=JOptionPane.showInputDialog("Geben sie einen Namen!");
try{
boolean geschlecht=false;
RandomAccessFile r=new RandomAccessFile(f, "rw");
x=JOptionPane.showInputDialog("Geben sie Ihr Geschlecht ein!(w oder m)");
if(x==null){
JOptionPane.showMessageDialog(null, "Programm wird abgebrochen...");
System.exit(0);
}
if((x.equals("w")) || (x.equals("weiblich"))) {
geschlecht=true;
}else{
if((x.equals("m")) || (x.equals("männlich"))) {
geschlecht=false;
}else{
JOptionPane.showMessageDialog(null, "Sie haben etwas falsches eingegeben!+'\n'"+"Programm wird abgebrochen...");
System.exit(0);
}
}
r.writeBoolean(geschlecht);
}catch(IOException e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}catch(Exception e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}
try{
RandomAccessFile r=new RandomAccessFile(f, "rw");
x=JOptionPane.showInputDialog("Geben sie Ihren Namen ein!");
if(x==null){
JOptionPane.showMessageDialog(null, "Programm wird abgebrochen...");
System.exit(0);
}
r.writeUTF(x);
}catch(IOException e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}catch(Exception e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}
try{
RandomAccessFile r=new RandomAccessFile(f, "rw");
x=JOptionPane.showInputDialog("Geben sie Ihr Alter ein!");
if(x==null){
JOptionPane.showMessageDialog(null, "Programm wird abgebrochen...");
System.exit(0);
}
int zahl=Integer.parseInt(x);
r.writeInt(zahl);
}catch(IOException e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}catch(NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}catch(Exception e) {
JOptionPane.showMessageDialog(null, "Fehler: "+e.getMessage());
}
return datei;
}
public static String Datei() {
String x=UserDataWrites();
return x;
}
}
und hier die Read Klasse (ich glaube der Fehler ist in der Read Klasse, weil die Write-Klasse vorhin Fehlerfrei funktionierte)
Code:
package beispiel;
import java.io.*;
import javax.swing.JOptionPane;
import com.sun.org.apache.regexp.internal.RE;
public class UserDataRead {
public static void main(String[] args) {
try{
RandomAccessFile r = new RandomAccessFile(UserDataWrite.Datei(), "rw");
String aus="", geschlecht="";
if(r.readBoolean()==true) {
geschlecht="weiblich";
}else{
geschlecht="männlich";
}
String name=r.readUTF();
int alter=r.readInt();
aus="Name : "+name+'\n'+"Geschlecht "+ geschlecht+'\n'+"Alter "+alter;
JOptionPane.showMessageDialog(null, aus);
}catch(IOException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}catch(Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
}
mfg