Advertisement
Gigli-0neiric

W0RK

Dec 19th, 2014
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.66 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.FileReader;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. import java.util.Arrays;
  8.  
  9. public class DateiSchreibenClass {
  10.  
  11.     EinAusgabe ea = new EinAusgabe();
  12.    
  13.     public void personenDateiSchreiben(String[] personen, String dateiname)
  14.     {
  15.         PrintWriter pWriter = null;
  16.         try {
  17.             pWriter = new PrintWriter(new BufferedWriter(new FileWriter(
  18.                     dateiname+".txt")));
  19.             for (int i = 0; i < personen.length; i++)
  20.             {
  21.                 pWriter.println(personen[i]);
  22.             }
  23.         } catch (IOException ioe)
  24.         {
  25.             ioe.printStackTrace();
  26.         } finally {
  27.             if (pWriter != null)
  28.             {
  29.                 pWriter.flush();
  30.                 pWriter.close();
  31.             }
  32.         }
  33.     }
  34.     public String[] lesePersonenDatei(String dateiname)
  35.     {
  36.         String[] personen = new String[0];
  37.  
  38.         try {
  39.             BufferedReader in = new BufferedReader(new FileReader(
  40.                     dateiname+".txt"));
  41.             String zeile = null;
  42.             int personenAnzahl = 0;
  43.             while ((zeile = in.readLine()) != null)
  44.             {
  45.                 personen = Arrays.copyOf(
  46.                     personen,
  47.                     personen.length + 1);
  48.                 personen[personenAnzahl] = zeile;
  49.                 personenAnzahl++;
  50.  
  51.  
  52.             }
  53.         } catch (IOException e)
  54.         {
  55.             ea.ausgebenKeineDatei();
  56.         }
  57.         if(personen.length > 0)
  58.             return personen;
  59.         return null;
  60.     }
  61.  
  62.     public void schluesselDateiSchreiben(
  63.             int[] schluesselListe, String dateiname)
  64.     {
  65.         PrintWriter pWriter = null;
  66.         try {
  67.             pWriter = new PrintWriter(new BufferedWriter(new FileWriter(
  68.                     dateiname+".txt")));
  69.             for (int i = 0; i < schluesselListe.length; i++)
  70.             {
  71.                 pWriter.println(schluesselListe[i]);
  72.             }
  73.         } catch (IOException ioe)
  74.         {
  75.             ioe.printStackTrace();
  76.         } finally {
  77.             if (pWriter != null)
  78.             {
  79.                 pWriter.flush();
  80.                 pWriter.close();
  81.             }
  82.         }
  83.     }
  84.    
  85.     public int[] leseSchluesselDatei(String dateiname)
  86.     {
  87.         int[] schluesselListe = new int[0];
  88.  
  89.         try {
  90.             BufferedReader in = new BufferedReader(new FileReader(
  91.                     dateiname+".txt"));
  92.             String zeile = null;
  93.             int schluesselzahl = 0;
  94.             while ((zeile = in.readLine()) != null)
  95.             {
  96.                 schluesselListe = Arrays.copyOf(
  97.                     schluesselListe,
  98.                     schluesselListe.length + 1);
  99.                 int schluesselnummer = Integer.parseInt(zeile);
  100.                 schluesselListe[schluesselzahl] = schluesselnummer;
  101.                 schluesselzahl++;
  102.             }
  103.         } catch (IOException e)
  104.         {
  105.             ea.ausgebenKeineDatei();
  106.         }
  107.         if(schluesselListe.length > 0)
  108.             return schluesselListe;
  109.         return null;
  110.     }
  111.  
  112. }
  113.  
  114. ________________________________________________________________________
  115.  
  116.  
  117. import java.util.Arrays;
  118.  
  119. public class Kunden {
  120.  
  121.     private int verwaltungsnummer;
  122.     private String[] kunden;
  123.     private int[] verwaltungsnummerVerwaltung;
  124.     private int verwaltungsNummeranzahl;
  125.     DateiSchreibenClass ds = new DateiSchreibenClass();
  126.     EinAusgabe ea = new EinAusgabe();
  127.  
  128.     public Kunden()
  129.     {
  130.         this.verwaltungsnummer = 0;
  131.         wiederherstellenVerwaltungsnummern();
  132.         wiederherstellenKunden();
  133.     }
  134.  
  135.     private void wiederherstellenVerwaltungsnummern()
  136.     {
  137.         this.verwaltungsnummerVerwaltung = ds.leseSchluesselDatei("verwaltungsnummernVerwaltung");
  138.         if (this.verwaltungsnummerVerwaltung == null)
  139.         {
  140.         this.verwaltungsnummerVerwaltung = new int[0];
  141.         }
  142.     }
  143.  
  144.     private void wiederherstellenKunden()
  145.     {
  146.         this.kunden = ds.lesePersonenDatei("kundenDB");
  147.         if (this.kunden == null)
  148.         {
  149.         this.kunden = new String[0];
  150.         }
  151.     }
  152.  
  153.     public String[] anlegen(String kunde)
  154.     {
  155.         verwaltungsnummer = this.kunden.length;
  156.         if (this.verwaltungsNummeranzahl > 0)
  157.         {
  158.             // Guckt in das Array, ob Verwaltungsnummern von gelöschten Kunden
  159.             // vorhanden sind und vergibt sie neu
  160.             this.kunden[this.verwaltungsnummerVerwaltung[this.verwaltungsNummeranzahl - 1]] = kunde+ ";"+ this.verwaltungsnummerVerwaltung[this.verwaltungsNummeranzahl - 1]+ ";";
  161.             this.verwaltungsnummerVerwaltung = Arrays.copyOf(this.verwaltungsnummerVerwaltung,this.verwaltungsnummerVerwaltung.length - 1);
  162.             this.verwaltungsNummeranzahl--;
  163.         } else {
  164.             // Legt neuen Kunden, mit neuer Verwaltungsnummer an
  165.             this.kunden = Arrays.copyOf(this.kunden, this.kunden.length + 1);
  166.             this.kunden[this.verwaltungsnummer] = kunde + ";"+ verwaltungsnummer + ";";
  167.             this.verwaltungsnummer++;
  168.         }
  169.         return this.kunden;
  170.  
  171.     }
  172.  
  173.    
  174.     public void bearbeiten(int verwaltungsnummer)
  175.     {
  176.         String[] aufgeteilt = this.kunden[verwaltungsnummer].split(";");
  177.         String firmenname = aufgeteilt[0];
  178.         String ansprechpartner = aufgeteilt[1];
  179.         String strasse = aufgeteilt[2];
  180.         String hausnummer = aufgeteilt[3];
  181.         String plz = aufgeteilt[4];
  182.         String stadt = aufgeteilt[5];
  183.         String land = aufgeteilt[6];
  184.         String telefonnummer = aufgeteilt[7];
  185.         String verwaltungsnummerString = aufgeteilt[8];
  186.        
  187.         switch (ea.ausgebenBearbeitungsdialogKunden())
  188.         {
  189.         case 0:
  190.             firmenname = ea.einlesenFirmenname();
  191.             break;
  192.         case 1:
  193.             ansprechpartner = ea.einlesenAnsprechpartner();
  194.             break;
  195.         case 2:
  196.             strasse = ea.einlesenStrasse();
  197.             break;
  198.         case 3:
  199.             hausnummer = ea.einlesenHausnummer();
  200.             break;
  201.         case 4:
  202.             plz = ea.einlesenPLZ();
  203.             break;
  204.         case 5:
  205.             stadt = ea.einlesenStadt();
  206.             break;
  207.         case 6:
  208.             land = ea.einlesenLand();
  209.             break;
  210.         case 7:
  211.             telefonnummer = ea.einlesenTelefonnummer();
  212.             break;
  213.         }
  214.  
  215.         String kunde = firmenname + ";" + ansprechpartner + ";" + strasse + ";"+ hausnummer + ";" + plz + ";" + stadt + ";" + land + ";"+ telefonnummer + ";" + verwaltungsnummerString + ";";
  216.         this.kunden[verwaltungsnummer] = kunde;
  217.     }
  218.  
  219.     public void loescheKunde(int verwaltungsnummer)
  220.     {
  221.         this.kunden[verwaltungsnummer] = "";
  222.         this.verwaltungsnummerVerwaltung = Arrays.copyOf(verwaltungsnummerVerwaltung,verwaltungsnummerVerwaltung.length + 1);
  223.         this.verwaltungsNummeranzahl++;
  224.         this.verwaltungsnummerVerwaltung[this.verwaltungsNummeranzahl - 1] = verwaltungsnummer;
  225.     }
  226.  
  227.     public void speichern()
  228.     {
  229.         ds.personenDateiSchreiben(this.kunden, "kundenDB");
  230.         ds.schluesselDateiSchreiben(this.verwaltungsnummerVerwaltung,"verwaltungsnummernVerwaltung");
  231.     }
  232.    
  233.     public String[] getKunden()
  234.     {  
  235.         return this.kunden;
  236.        
  237.     }
  238. }
  239. __________________________________________
  240.  
  241. import java.io.File;
  242.  
  243. import javax.xml.bind.JAXBException;
  244.  
  245. public class Main {
  246.  
  247.     public static void main(String args[]) throws JAXBException {
  248.        
  249.         EinAusgabe ea = new EinAusgabe();
  250.         char jaNeinabfrage = 'j';
  251.         Kunden k1 = new Kunden();
  252.        
  253.          DateiSchreibenClass ds = new  DateiSchreibenClass();
  254.        
  255.         do {
  256.              //Kunde einlesen
  257.              k1.anlegen(ea.einlesenKunde());
  258.  
  259.            
  260.             //Nochmal ausführen?
  261.             ea.ausgebenNochmalAusfuehren();
  262.             jaNeinabfrage = ea.abfragenJaNein();
  263.  
  264.         } while (jaNeinabfrage == 'j');
  265.         //speichern
  266.          k1.speichern();
  267.  
  268.     }
  269. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement