Public paste
Undefined
By: Guest | Date: Nov 28 2014 22:10 | Format: None | Expires: never | Size: 3.78 KB | Hits: 909

  1. package helpisneeded;
  2. import java.io.*;
  3. import java.util.ArrayList;
  4. import java.util.Scanner;
  5.  
  6.  
  7. public class Postbox {
  8.         private ArrayList<Letter> postbox;
  9.     private ArrayList<Letter> postbag;
  10.  
  11.         /**
  12.          * Gibt eine Beschreibung aller Briefe im Briefkasten aus
  13.          */
  14.         public void printAll(){
  15.                 for(Letter letter: postbox){
  16.                           System.out.println("Absender " + letter.getSenderInfo()  + "Empfaenger: " +  letter.getRecipientInfo());
  17.                 }
  18.         }
  19.        
  20.         /**
  21.          * Fuegt einen Brief zum Briefkasten hinzu
  22.          */
  23.         public void addLetterInPostbox(Letter letter) {
  24.          postbox.add(letter);
  25.         }
  26.        
  27.         /**
  28.          * Wirft alle Briefe aus dem Briefkasten in den Postsack
  29.          */
  30.         public void emptyPostboxToPostbag(){
  31.                    postbox.addAll(postbox);
  32.                    postbox.clear();
  33.         }
  34.        
  35.         public void savePostbox(){
  36.        
  37.             try {
  38.                 ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("speicher"));
  39.                 for(Letter letter:postbox) {
  40.                         outputStream.writeObject(letter);
  41.                 }            
  42.             outputStream.close();
  43.             } catch(IOException e) {
  44.                 System.out.println("Datei konnte nicht gespeichert werden.");
  45.             }
  46.         }
  47.            
  48.         public void readPostbox() {
  49.             Letter letter;
  50.            
  51.             try {
  52.                 ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream("speicher"));
  53.                
  54.                 while(true) {
  55.                 letter = (Letter) inputStream.readObject();
  56.                 addLetterInPostbox(letter);
  57.                 }
  58.             } catch(EOFException e) {
  59.                 System.out.println("Datei wurde zu Ende gelesen.");
  60.             } catch(ClassNotFoundException e) {
  61.                 System.out.println("Falscher Dateityp");
  62.             } catch(IOException e) {
  63.                 System.out.println("Datei konnte nicht gelesen werden.");
  64.             }
  65.         }
  66.      
  67.         public static void mainMenu() {
  68.  
  69.                 Postbox pb = new Postbox();
  70.                 String auswahl;
  71.              
  72.              Scanner sc = new Scanner(System.in);
  73.              do {
  74.              System.out.println("Please choose one of the following options: "
  75.                                  + "\n1:Add a new letter in postbox"
  76.                                  + "\n2:Save a postbox to file"
  77.                                  + "\n3:Read a postbox from file"
  78.                                  + "\n4:Print all letters in postbox"
  79.                                  + "\n5:Empty postbox to postbag"
  80.                                  + "\n0:Exit ");
  81.              auswahl = sc.next();
  82.        
  83.              if(auswahl.equals("1")){
  84.                 System.out.println("Bitte Sender angeben: ");
  85.                 String sender = sc.next();
  86.                 System.out.println("Bitte Empfaenger angeben: ");
  87.                 String empfaenger = sc.next();
  88.                 pb.addLetterInPostbox(new Letter(sender, empfaenger));
  89.              } else if (auswahl.equals("2")){
  90.                 pb.savePostbox();          
  91.              } else if (auswahl.equals("3")) {
  92.                 pb.readPostbox();    
  93.              } else if (auswahl.equals("4")) {
  94.                pb.printAll();  
  95.              } else if (auswahl.equals("5")) {
  96.                pb.emptyPostboxToPostbag();    
  97.              }
  98.              } while (!auswahl.equals("0"));
  99.              
  100.              sc.close();
  101.              System.out.println("Das Programm wird beendet.");
  102.         }
  103.        
  104.         public static void main(String[] args) {
  105.             mainMenu();
  106.            
  107.         }
  108. }