Generierte Dokumentation der praktischen Arbeit von Simon Tiffert

Hauptseite | Pakete | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

# OutputFile.java

gehe zur Dokumentation dieser Datei

    00001 /*
    00002  *
    00003  * Datei:   OutputFile.java
    00004  *
    00005  * ---------------------------------
    00006  *
    00007  * Datum:           $Date: 2004/05/13 10:15:32 $
    00008  * Autor:           Simon Tiffert
    00009  * Prüfungsnummer:  40
    00010  * Firma:           T-Systems
    00011  * eMail-Adresse:   simon.tiffert@t-systems.com
    00012  * Version:         $Revision: 1.7 $
    00013  *
    00014  * ---------------------------------
    00015  *
    00016  */
    00017
    00018 package main.tools.file;
    00019
    00020 import java.io.BufferedWriter;
    00021 import java.io.File;
    00022 import java.io.FileWriter;
    00023 import java.io.IOException;
    00024
    00025 import main.Main;
    00026
    00027 /**
    00028  * Diese Klasse bekommt den Namen einer Eingabedatei übergeben und
    00029  * erzeugt daraus eine Ausgabedatei.
    00030  * Außerdem kann sie diese Datei zum Schreiben öffnen.
    00031  *
    00032  * @version $Revision: 1.7 $
    00033  * @author Simon Tiffert
    00034  */
    00035 public class OutputFile extends File
    00036 {
    00037   /**
    00038    * Konstruktor, der den Konstruktor der Superklasse mit dem in dieser
    00039    * Klasse erstellten Ausgabedateinamen aufruft.
    00040    *
    00041    * @param pathname Pfadname
    00042    * @param endung Endung
    00043    */
    00044   public OutputFile(String pathname, String endung)
    00045   {
    00046     super(setNameAusgabeDatei(pathname, endung));
    00047   }
    00048
    00049   /**
    00050    * Der Name der Ausgabedatei wird gebildet, in dem der Text nach dem
    00051    * letzten Punkt, durch die übergebene Endung ersetzt wird.
    00052    *
    00053    * @param eingabeDateiName Name der Eingabedatei
    00054    * @param endung Neue Endung
    00055    * @return Name der Ausgabedatei
    00056    */
    00057   private static String setNameAusgabeDatei(
    00058     String eingabeDateiName,
    00059     String endung)
    00060   {
    00061     int index;
    00062
    00063     // der Index des letzten Punktes wird gesucht
    00064     index = eingabeDateiName.lastIndexOf(".");
    00065
    00066     // ist kein Punkt enthalten
    00067     if (index < 0)
    00068     {
    00069       // setze den Index auf das Ende des Eingabenamens
    00070       index = eingabeDateiName.length();
    00071     }
    00072
    00073     // füge die neue Endung am Index ein
    00074     return eingabeDateiName.substring(0, index) + endung;
    00075   }
    00076
    00077   /**
    00078    * Die Funktion gibt einen BufferedWriter auf das File Objekt zurück.
    00079    * Dabei wird getestet, ob eine vorhandene Datei überschrieben werden
    00080    * darf und entsprechend reagiert.
    00081    *
    00082    * @return BufferedWriter für Ausgabedatei
    00083    * @throws IOException
    00084    */
    00085   public BufferedWriter getAusgabeDatei()
    00086     throws IOException, OutputFileExistsException
    00087   {
    00088     // Wenn die Datei nicht überschrieben werden soll
    00089     if (!Main.overwrite)
    00090     {
    00091       // und die Datei existiert, werfe eine Exception
    00092       if (this.exists())
    00093       {
    00094         throw new OutputFileExistsException(this.getName());
    00095       }
    00096     }
    00097
    00098     // ansonsten erstelle einen BufferedWriter auf die
    00099     // Ausgabedatei
    00100     BufferedWriter bw = new BufferedWriter(new FileWriter(this));
    00101
    00102     // gib diesen BufferedWriter zurück
    00103     return bw;
    00104   }
    00105
    00106 }

Documentation created with Doxygen 1.3.6 | Fri May 14 11:15:27 2004