Class IOUtils


  • public class IOUtils
    extends java.lang.Object
    Hilfsfunktionen fuer IO-Operationen.
    • Constructor Summary

      Constructors 
      Constructor Description
      IOUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void close​(java.io.Closeable c)
      Schliesst das Closeable, ohne eine Exception zu werfen.
      static long copy​(java.io.InputStream is, java.io.OutputStream os)
      Kopiert die Daten aus dem InputStream in den OutputStream.
      static byte[] read​(java.io.InputStream is)
      Liest die Datei komplett in das Byte-Array.
      static java.lang.String safeFilename​(java.lang.String filename)
      Prueft, ob ein Dateipfad ungueltige Zeichen enthaelt oder zu lang ist und kuerzt ihn automatisch.
      static void safeReplace​(java.io.File origFile, java.io.File tmpFile)
      Ersetzt die Datei origFile gegen tmpFile.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IOUtils

        public IOUtils()
    • Method Detail

      • safeReplace

        public static void safeReplace​(java.io.File origFile,
                                       java.io.File tmpFile)
        Ersetzt die Datei origFile gegen tmpFile. Nach dem Loeschen der Datei origFile wartet die Methode jedoch maximal 20 Sekunden, um sicherzustellen, dass z.Bsp. Virenscanner die Datei wieder losgelassen haben und sie wirklich verschwunden ist, bevor tmpFile auf den Namen von origFile umbenannt wird. Wichtig ist, dass zum Zeitpunkt des Aufrufes dieser Methode alle Streams auf die Dateien bereits geschlossen wurden. Die Schreibvorgaenge auf die Dateien muessen also abgeschlossen sein. Heisst: "os.close()" nicht erst im finally-Block machen sondern VOR dem Aufruf dieser Methode.
        Parameters:
        origFile - die originale zu ersetzende Datei.
        tmpFile - die neue Datei, welche die originale ersetzen soll.
      • copy

        public static long copy​(java.io.InputStream is,
                                java.io.OutputStream os)
                         throws java.io.IOException
        Kopiert die Daten aus dem InputStream in den OutputStream.
        Parameters:
        is - der InputStream. Der InputStream wird nicht geschlossen. Das ist Aufgabe des Aufrufers.
        os - der OutputStream.
        Returns:
        die Anzahl geschriebener Bytes.
        Throws:
        java.io.IOException
      • read

        public static byte[] read​(java.io.InputStream is)
                           throws java.io.IOException
        Liest die Datei komplett in das Byte-Array.
        Parameters:
        is - der InputStream. Der InputStream wird nicht geschlossen. Das ist Aufgabe des Aufrufers.
        Returns:
        das Byte-Array.
        Throws:
        java.io.IOException
      • close

        public static void close​(java.io.Closeable c)
        Schliesst das Closeable, ohne eine Exception zu werfen. Auch dann nicht, wenn c NULL ist.
        Parameters:
        c - das Closeable.
      • safeFilename

        public static java.lang.String safeFilename​(java.lang.String filename)
        Prueft, ob ein Dateipfad ungueltige Zeichen enthaelt oder zu lang ist und kuerzt ihn automatisch. Siehe https://homebanking-hilfe.de/forum/topic.php?p=138325#real138325 Die Funktion laesst in Dateinamen ausschliesslich Buchstaben, Zahlen, Unterstrich, Bindestrich und Punkt zu. Wenn der Dateiname laenger als 25 Zeichen ist, wuerde er auf 25 Zeichen abgeschnitten.
        Parameters:
        filename - der zu pruefende Dateiname inclusive Pfad.
        Returns:
        der ggf korrigierte Dateiname.