Hallo Leute,
mein Problem ist das folgende. Ich habe ein Programm, über welches ich Mitarbeiter und ihre Daten anlegen also erstellen, suchen und ändern kann.
Das Problem ist hierbei, dass ich versuchen wollte, die eingegebenen Daten in einem Array zu speichern und dieses an eine Datei übergeben wollte. Dies funktioniert jedoch mit meinem Programm bisher nicht.
Es wird zwar eine Datei erstellt. Diese bleibt aber leer und lässt sich über keine Variante füllen.
Habt ihr einen Tipp, wie ich die Daten aus dem Array in eine Datei speichern kann bzw. direkt in eine Datei speichern kann, sodass sie später wieder eingelesen werden kann?
Ggf. über eine ArrayList?
Mein Code ist wie folgt:
Im Switch ist zunächst nur die 1 Verzweigung wichtig, dass diese funktioniert.
Das Programm lässt sich soweit kompilieren und erstellt auch eine Datei. Diese ist aber leer.
Vielen Dank für eure Tipps!
mein Problem ist das folgende. Ich habe ein Programm, über welches ich Mitarbeiter und ihre Daten anlegen also erstellen, suchen und ändern kann.
Das Problem ist hierbei, dass ich versuchen wollte, die eingegebenen Daten in einem Array zu speichern und dieses an eine Datei übergeben wollte. Dies funktioniert jedoch mit meinem Programm bisher nicht.
Es wird zwar eine Datei erstellt. Diese bleibt aber leer und lässt sich über keine Variante füllen.
Habt ihr einen Tipp, wie ich die Daten aus dem Array in eine Datei speichern kann bzw. direkt in eine Datei speichern kann, sodass sie später wieder eingelesen werden kann?
Ggf. über eine ArrayList?
Mein Code ist wie folgt:
Java:
public class Mitarbeiterdaten{
static String daten[]={"","","","","","",""};
public static class Mitarbeiter{ // maessdaten zusammengefasst
public String vorname;
public String familienname;
public String abteilung;
public String funktion;
public String personalnummer;
public String mail;
public String kommentar;
}
// public void schreiben(String daten[], Mitarbeiter ma){
// daten[0]=ma.vorname;
// daten[1]=ma.familienname;
// daten[2]=ma.abteilung;
// daten[3]=ma.funktion;
// daten[4]=ma.personalnummer;
// daten[5]=ma.mail;
// daten[6]=ma.kommentar;
// }
public static void main(String[] args) { // Hauptprogramm
Scanner scanner=new Scanner(System.in);
Formatter schreiben;
// Benoetigte Variablen
Scanner neueEingabe=new Scanner(System.in);
Mitarbeiter[] mitarbeiter= new Mitarbeiter[20];
Mitarbeiter ma;
boolean fertig=false;
// Initialisiere das Feld
for (int i=0;i<mitarbeiter.length;i++)
mitarbeiter[i]=new Mitarbeiter();
ma=mitarbeiter[0];
// Starte das Programm mit eines huebschen Ausgabe
System.out.println("================");
System.out.println("Mitarbeiterverwaltung");
System.out.println("================");
// Schleifenbeginn
while (!fertig) {
// Menue
System.out.println(" ");
System.out.println("1: Mitarbeiter anlegen");
System.out.println("2: Mitarbeiter suchen");
System.out.println("3: Mitarbeiterdaten aendern");
System.out.println("4: Programm beenden");
int auswahl=Integer.parseInt(scanner.nextLine());//IOTools.readInteger("Ihre Wahl:");
// Fallunterscheidung
switch(auswahl) {
case 1: // daten eingeben
ma.vorname =scanner.nextLine();
ma.familienname =scanner.nextLine();
ma.abteilung =scanner.nextLine();
ma.funktion =scanner.nextLine();
ma.personalnummer=scanner.nextLine();
ma.mail =scanner.nextLine();
ma.kommentar =scanner.nextLine();
System.out.println("Mitarbeiterdaten:\n"+"Vorname: "+ma.vorname+
"\nFamilienname: "+ma.familienname+"\nAbteilung: "+ma.abteilung+
"\nFunktion: "+ma.funktion+"\nPersonalnummer: "+ma.personalnummer+
"\nEmail: "+"\nKommentar: ");
Mitarbeiterdaten md=new Mitarbeiterdaten();
md.daten[0]=ma.vorname;
md.daten[1]=ma.familienname;
md.daten[2]=ma.abteilung;
md.daten[3]=ma.funktion;
md.daten[4]=ma.personalnummer;
md.daten[5]=ma.mail;
md.daten[6]=ma.kommentar;
System.out.println("\nDaten gespeichert");
System.out.println("\n"+daten[0]+"\n"+daten[1]+"\n"+daten[2]+"\n"+daten[3]+"\n"+daten[4]+"\n"+daten[5]+"\n"+daten[6]);
Formatter x=null;
System.out.println("\nDatei erzeugen: \nName: \n");
String dateiname=scanner.next();
String dateiinhalt="";
Scanner inDateiSchreiben;
File f=new File("C:\\Users\\alexander.ropella\\Desktop\\"+dateiname);
if(f.exists())
{
try {
inDateiSchreiben=new Scanner(f);
while(inDateiSchreiben.hasNextLine())
{
dateiinhalt+=inDateiSchreiben.nextLine();
}
x=new Formatter(f);
x.format("%s",dateiinhalt);
} catch (FileNotFoundException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
}
else{
try {
x=new Formatter(f);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
x.format("%s",neueEingabe.nextLine());
x.close();
try {
FileWriter fw=new FileWriter(dateiname);
fw.write(daten.toString());
fw.close();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
try {
schreiben=new Formatter(f);
schreiben.format(""+scanner.nextLine());
schreiben.close();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(""+f.getName()+".txt"+"\nDatei erzeugt");
break;
case 2: // daten ausgeben
System.out.println("Mitarbeiter suchen\n"+"Geben Sie einen Datensatz des Mitarbeiters ein: \n");
String eingabe=scanner.nextLine();
if((eingabe.equals(ma.vorname))||eingabe.equals(ma.familienname)||eingabe.equals(ma.abteilung)||eingabe.equals(ma.funktion)||eingabe.equals(ma.personalnummer))
{
System.out.println("Mitarbeiterdaten:\n"+"Vorname: "+ma.vorname+
"\nFamilienname: "+ma.familienname+"\nAbteilung: "+ma.abteilung+
"\nFunktion: "+ma.funktion+"\nPersonalnummer: "+ma.personalnummer+
"\nEmail: "+"\nKommentar: ");
}
System.out.println("Drücken Sie eine Taste");
String eingabe3=scanner.nextLine();
if(!eingabe3.isEmpty())
break;
else
try {
System.console().wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
case 3: //daten ändern
System.out.println("Mitarbeiterdaten ändern:\n"
+"(zwischen 0 und 19):");
int n=Integer.parseInt(scanner.nextLine());
ma=mitarbeiter[n];
break;
case 4: // Programm beenden
fertig=true;
break;
default: // Falsche Zahl eingegeben
System.out.println("Eingabefehler!");
}
} // Schleifenende
} // Ende des Hauptprogramms
} // Ende des Programms
Im Switch ist zunächst nur die 1 Verzweigung wichtig, dass diese funktioniert.
Das Programm lässt sich soweit kompilieren und erstellt auch eine Datei. Diese ist aber leer.
Vielen Dank für eure Tipps!