Package org.kapott.hbci.tools
Class IOUtils
java.lang.Object
org.kapott.hbci.tools.IOUtils
Hilfsfunktionen fuer IO-Operationen.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Schliesst das Closeable, ohne eine Exception zu werfen.static long
copy
(InputStream is, OutputStream os) Kopiert die Daten aus dem InputStream in den OutputStream.static byte[]
read
(InputStream is) Liest die Datei komplett in das Byte-Array.static String
safeFilename
(String filename) Prueft, ob ein Dateipfad ungueltige Zeichen enthaelt oder zu lang ist und kuerzt ihn automatisch.static void
safeReplace
(File origFile, File tmpFile) Ersetzt die Datei origFile gegen tmpFile.
-
Constructor Details
-
IOUtils
public IOUtils()
-
-
Method Details
-
safeReplace
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
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:
IOException
-
read
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:
IOException
-
close
Schliesst das Closeable, ohne eine Exception zu werfen. Auch dann nicht, wenn c NULL ist.- Parameters:
c
- das Closeable.
-
safeFilename
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.
-