| Generierte Dokumentation der praktischen Arbeit von Simon Tiffert |
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 |