Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Arrays;
- public class DateiSchreibenClass {
- EinAusgabe ea = new EinAusgabe();
- public void personenDateiSchreiben(String[] personen, String dateiname)
- {
- PrintWriter pWriter = null;
- try {
- pWriter = new PrintWriter(new BufferedWriter(new FileWriter(
- dateiname+".txt")));
- for (int i = 0; i < personen.length; i++)
- {
- pWriter.println(personen[i]);
- }
- } catch (IOException ioe)
- {
- ioe.printStackTrace();
- } finally {
- if (pWriter != null)
- {
- pWriter.flush();
- pWriter.close();
- }
- }
- }
- public String[] lesePersonenDatei(String dateiname)
- {
- String[] personen = new String[0];
- try {
- BufferedReader in = new BufferedReader(new FileReader(
- dateiname+".txt"));
- String zeile = null;
- int personenAnzahl = 0;
- while ((zeile = in.readLine()) != null)
- {
- personen = Arrays.copyOf(
- personen,
- personen.length + 1);
- personen[personenAnzahl] = zeile;
- personenAnzahl++;
- }
- } catch (IOException e)
- {
- ea.ausgebenKeineDatei();
- }
- if(personen.length > 0)
- return personen;
- return null;
- }
- public void schluesselDateiSchreiben(
- int[] schluesselListe, String dateiname)
- {
- PrintWriter pWriter = null;
- try {
- pWriter = new PrintWriter(new BufferedWriter(new FileWriter(
- dateiname+".txt")));
- for (int i = 0; i < schluesselListe.length; i++)
- {
- pWriter.println(schluesselListe[i]);
- }
- } catch (IOException ioe)
- {
- ioe.printStackTrace();
- } finally {
- if (pWriter != null)
- {
- pWriter.flush();
- pWriter.close();
- }
- }
- }
- public int[] leseSchluesselDatei(String dateiname)
- {
- int[] schluesselListe = new int[0];
- try {
- BufferedReader in = new BufferedReader(new FileReader(
- dateiname+".txt"));
- String zeile = null;
- int schluesselzahl = 0;
- while ((zeile = in.readLine()) != null)
- {
- schluesselListe = Arrays.copyOf(
- schluesselListe,
- schluesselListe.length + 1);
- int schluesselnummer = Integer.parseInt(zeile);
- schluesselListe[schluesselzahl] = schluesselnummer;
- schluesselzahl++;
- }
- } catch (IOException e)
- {
- ea.ausgebenKeineDatei();
- }
- if(schluesselListe.length > 0)
- return schluesselListe;
- return null;
- }
- }
- ________________________________________________________________________
- import java.util.Arrays;
- public class Kunden {
- private int verwaltungsnummer;
- private String[] kunden;
- private int[] verwaltungsnummerVerwaltung;
- private int verwaltungsNummeranzahl;
- DateiSchreibenClass ds = new DateiSchreibenClass();
- EinAusgabe ea = new EinAusgabe();
- public Kunden()
- {
- this.verwaltungsnummer = 0;
- wiederherstellenVerwaltungsnummern();
- wiederherstellenKunden();
- }
- private void wiederherstellenVerwaltungsnummern()
- {
- this.verwaltungsnummerVerwaltung = ds.leseSchluesselDatei("verwaltungsnummernVerwaltung");
- if (this.verwaltungsnummerVerwaltung == null)
- {
- this.verwaltungsnummerVerwaltung = new int[0];
- }
- }
- private void wiederherstellenKunden()
- {
- this.kunden = ds.lesePersonenDatei("kundenDB");
- if (this.kunden == null)
- {
- this.kunden = new String[0];
- }
- }
- public String[] anlegen(String kunde)
- {
- verwaltungsnummer = this.kunden.length;
- if (this.verwaltungsNummeranzahl > 0)
- {
- // Guckt in das Array, ob Verwaltungsnummern von gelöschten Kunden
- // vorhanden sind und vergibt sie neu
- this.kunden[this.verwaltungsnummerVerwaltung[this.verwaltungsNummeranzahl - 1]] = kunde+ ";"+ this.verwaltungsnummerVerwaltung[this.verwaltungsNummeranzahl - 1]+ ";";
- this.verwaltungsnummerVerwaltung = Arrays.copyOf(this.verwaltungsnummerVerwaltung,this.verwaltungsnummerVerwaltung.length - 1);
- this.verwaltungsNummeranzahl--;
- } else {
- // Legt neuen Kunden, mit neuer Verwaltungsnummer an
- this.kunden = Arrays.copyOf(this.kunden, this.kunden.length + 1);
- this.kunden[this.verwaltungsnummer] = kunde + ";"+ verwaltungsnummer + ";";
- this.verwaltungsnummer++;
- }
- return this.kunden;
- }
- public void bearbeiten(int verwaltungsnummer)
- {
- String[] aufgeteilt = this.kunden[verwaltungsnummer].split(";");
- String firmenname = aufgeteilt[0];
- String ansprechpartner = aufgeteilt[1];
- String strasse = aufgeteilt[2];
- String hausnummer = aufgeteilt[3];
- String plz = aufgeteilt[4];
- String stadt = aufgeteilt[5];
- String land = aufgeteilt[6];
- String telefonnummer = aufgeteilt[7];
- String verwaltungsnummerString = aufgeteilt[8];
- switch (ea.ausgebenBearbeitungsdialogKunden())
- {
- case 0:
- firmenname = ea.einlesenFirmenname();
- break;
- case 1:
- ansprechpartner = ea.einlesenAnsprechpartner();
- break;
- case 2:
- strasse = ea.einlesenStrasse();
- break;
- case 3:
- hausnummer = ea.einlesenHausnummer();
- break;
- case 4:
- plz = ea.einlesenPLZ();
- break;
- case 5:
- stadt = ea.einlesenStadt();
- break;
- case 6:
- land = ea.einlesenLand();
- break;
- case 7:
- telefonnummer = ea.einlesenTelefonnummer();
- break;
- }
- String kunde = firmenname + ";" + ansprechpartner + ";" + strasse + ";"+ hausnummer + ";" + plz + ";" + stadt + ";" + land + ";"+ telefonnummer + ";" + verwaltungsnummerString + ";";
- this.kunden[verwaltungsnummer] = kunde;
- }
- public void loescheKunde(int verwaltungsnummer)
- {
- this.kunden[verwaltungsnummer] = "";
- this.verwaltungsnummerVerwaltung = Arrays.copyOf(verwaltungsnummerVerwaltung,verwaltungsnummerVerwaltung.length + 1);
- this.verwaltungsNummeranzahl++;
- this.verwaltungsnummerVerwaltung[this.verwaltungsNummeranzahl - 1] = verwaltungsnummer;
- }
- public void speichern()
- {
- ds.personenDateiSchreiben(this.kunden, "kundenDB");
- ds.schluesselDateiSchreiben(this.verwaltungsnummerVerwaltung,"verwaltungsnummernVerwaltung");
- }
- public String[] getKunden()
- {
- return this.kunden;
- }
- }
- __________________________________________
- import java.io.File;
- import javax.xml.bind.JAXBException;
- public class Main {
- public static void main(String args[]) throws JAXBException {
- EinAusgabe ea = new EinAusgabe();
- char jaNeinabfrage = 'j';
- Kunden k1 = new Kunden();
- DateiSchreibenClass ds = new DateiSchreibenClass();
- do {
- //Kunde einlesen
- k1.anlegen(ea.einlesenKunde());
- //Nochmal ausführen?
- ea.ausgebenNochmalAusfuehren();
- jaNeinabfrage = ea.abfragenJaNein();
- } while (jaNeinabfrage == 'j');
- //speichern
- k1.speichern();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement