Class ResourceStreamProvider
InputStream
s für Ressourcen zu erhalten.-
Method Summary
Modifier and TypeMethodDescriptionstatic InputStream
getInputStream
(String source) Sucht eine zur angegebenen Quelle passende Ressource und öffnet einen passendenInputStream
.static OutputStream
getOutputStream
(String source) Sucht eine zur angegebenen Quelle passende Ressource und öffnet einen passendenOutputStream
.static BufferedReader
Sucht eine zur angegebenen Quelle passende Ressource und öffnet einenBufferedReader
.static BufferedReader
Sucht eine zur angegebenen Quelle passende Ressource und öffnet einenBufferedReader
mit dem angegebenen Charset.static URL
getResourceURL
(String source) Ermittelt zur angegebenen Quelle einen passendenURL
(Unified Resource Locator).static BufferedWriter
Sucht eine zur angegebenen Quelle passende Datei und öffnet einenBufferedWriter
.static BufferedWriter
Sucht eine zur angegebenen Quelle passende Datei und öffnet einenBufferedWriter
.
-
Method Details
-
getResourceURL
public static URL getResourceURL(String source) throws NullPointerException, IllegalArgumentException, IOException Ermittelt zur angegebenen Quelle einen passendenURL
(Unified Resource Locator). Eine passende Datei-Ressource wird wie folgt ermittelt:- Ist
source
eine existierende Datei (new File(source
.isFile() == true})? - Ist
source
ein relativer Pfad im Projekt (getResource(source) != null
)? - Ist
source
im Classpath enthalten (getClassLoader().getResource(source) != null
)? - Ansonsten erstelle ein
URL
-Objekt.
Ein
URL
für die erste gefundene Resource wird zurückgegeben.Auftretende Exceptions werden als
IOException
geworfen. Bei einer Exception werden die nachfolgenden Quellen nicht mehr abgefragt. EineMalformedURLException
beim Konstruieren desURL
zu einer Datei verhindert daher, dass noch im Classpath gesucht wird.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkressource)- Returns:
- Ein
InputStream
für die Ressource - Throws:
NullPointerException
- Fallssource
null
ist.IllegalArgumentException
- Fallssource
ein leerer String ist.IOException
- Geworfen beim Erzeugen einer URL zu einer bestehenden Ressource.
- Ist
-
getInputStream
public static InputStream getInputStream(String source) throws NullPointerException, IllegalArgumentException, IOException Sucht eine zur angegebenen Quelle passende Ressource und öffnet einen passendenInputStream
. Die konkrete Art des Streams hängt davon ab, welche Art an Ressource gefunden wird:- Ist
source
eine existierende Dateinew File(source).isFile() == true
, dann wird einFileInputStream
erstellt. - Ist
source
ein relativer Pfad im Projekt, wird ein passender Stream mitClass.getResourceAsStream(String)
geöffnet. - Ist
source
im Classpath enthalten, wird ein passender Stream mitClassLoader.getResourceAsStream(String)
geöffnet. - Ist
source
eine gültigeURL
, dann wird einNetwerkstream
geöffnet.
Die Möglichen Ressourcen werden in der gelisteten Reihenfolge durchprobiert und der erste gefundene Stream zurückgegeben. Auftretende Exceptions werden als
IOException
geworfen. Das bedeutet, falls fürsource
keine gültige Ressource gefunden werden kann, wird am Ende die vonURL.openStream()
erzeugteIOException
geworfen.Bei einer Exception werden die nachfolgenden Quellen nicht mehr abgefragt. Eine
SecurityException
beim Öffnen desFileInputStream
(zum Beispiel, weil auf eine existierende Datei keine Leserechte bestehen) verhindert daher, dass noch im Classpath gesucht wird.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkresource).- Returns:
- Ein
InputStream
für die Ressource. - Throws:
NullPointerException
- Fallssource
null
ist.IllegalArgumentException
- Fallssource
ein leerer String ist.IOException
- Geworfen beim Öffnen des Streams zu einer bestehenden Ressource oder falls keine passende Ressource gefunden wurde.
- Ist
-
getOutputStream
Sucht eine zur angegebenen Quelle passende Ressource und öffnet einen passendenOutputStream
.Es wird davon ausgegangen, dass die Quelle auf eine Datei verweist, auf die Schreibrechte bestehen. Ist dies nicht der Fall, wird eine
IOException
geworfen.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath).- Returns:
OutputStream
für die Ressource.- Throws:
IOException
- Falls die Quelle kein gültiges Ziel beschreibt.
-
getReader
Sucht eine zur angegebenen Quelle passende Ressource und öffnet einenBufferedReader
.Die Suche erfolgt, wie bei
getInputStream(String)
beschrieben.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkresource).- Returns:
- Ein
BufferedReader
für die Quelle. - Throws:
IOException
- Falls die Quelle nicht exisitert oder nicht geöffnet werden kann.- See Also:
-
getReader
Sucht eine zur angegebenen Quelle passende Ressource und öffnet einenBufferedReader
mit dem angegebenen Charset.Die Suche erfolgt wie bei
getInputStream(String)
beschrieben.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkresource).charset
- Der zu verwendende Charset.- Returns:
- Ein
BufferedReader
für die Quelle. - Throws:
IOException
- Falls die Quelle nicht exisitert oder nicht geöffnet werden kann.- See Also:
-
getWriter
Sucht eine zur angegebenen Quelle passende Datei und öffnet einenBufferedWriter
.Die Suche erfolgt wie bei
getOutputStream(String)
beschrieben.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkresource).- Returns:
- Ein
BufferedWriter
für die Quelle. - Throws:
IOException
- Falls die Quelle nicht exisitert oder nicht geöffnet werden kann.- See Also:
-
getWriter
Sucht eine zur angegebenen Quelle passende Datei und öffnet einenBufferedWriter
.Die Suche erfolgt wie bei
getOutputStream(String)
beschrieben.- Parameters:
source
- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkresource).charset
- Der zu verwendende Charset.- Returns:
- Ein
BufferedWriter
für die Quelle. - Throws:
IOException
- Falls die Quelle nicht exisitert oder nicht geöffnet werden kann.- See Also:
-