Class ResourceStreamProvider
InputStreams für Ressourcen zu erhalten.-
Method Summary
Modifier and TypeMethodDescriptionstatic InputStreamgetInputStream(String source) Sucht eine zur angegebenen Quelle passende Ressource und öffnet einen passendenInputStream.static OutputStreamgetOutputStream(String source) Sucht eine zur angegebenen Quelle passende Ressource und öffnet einen passendenOutputStream.static BufferedReaderSucht eine zur angegebenen Quelle passende Ressource und öffnet einenBufferedReader.static BufferedReaderSucht eine zur angegebenen Quelle passende Ressource und öffnet einenBufferedReadermit dem angegebenen Charset.static URLgetResourceURL(String source) Ermittelt zur angegebenen Quelle einen passendenURL(Unified Resource Locator).static BufferedWriterSucht eine zur angegebenen Quelle passende Datei und öffnet einenBufferedWriter.static BufferedWriterSucht 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
sourceeine existierende Datei (new File(source.isFile() == true})? - Ist
sourceein relativer Pfad im Projekt (getResource(source) != null)? - Ist
sourceim Classpath enthalten (getClassLoader().getResource(source) != null)? - Ansonsten erstelle ein
URL-Objekt.
Ein
URLfür die erste gefundene Resource wird zurückgegeben.Auftretende Exceptions werden als
IOExceptiongeworfen. Bei einer Exception werden die nachfolgenden Quellen nicht mehr abgefragt. EineMalformedURLExceptionbeim Konstruieren desURLzu 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
InputStreamfür die Ressource - Throws:
NullPointerException- Fallssourcenullist.IllegalArgumentException- Fallssourceein 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
sourceeine existierende Dateinew File(source).isFile() == true, dann wird einFileInputStreamerstellt. - Ist
sourceein relativer Pfad im Projekt, wird ein passender Stream mitClass.getResourceAsStream(String)geöffnet. - Ist
sourceim Classpath enthalten, wird ein passender Stream mitClassLoader.getResourceAsStream(String)geöffnet. - Ist
sourceeine gültigeURL, dann wird einNetwerkstreamgeöffnet.
Die Möglichen Ressourcen werden in der gelisteten Reihenfolge durchprobiert und der erste gefundene Stream zurückgegeben. Auftretende Exceptions werden als
IOExceptiongeworfen. Das bedeutet, falls fürsourcekeine gültige Ressource gefunden werden kann, wird am Ende die vonURL.openStream()erzeugteIOExceptiongeworfen.Bei einer Exception werden die nachfolgenden Quellen nicht mehr abgefragt. Eine
SecurityExceptionbeim Ö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
InputStreamfür die Ressource. - Throws:
NullPointerException- Fallssourcenullist.IllegalArgumentException- Fallssourceein 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
IOExceptiongeworfen.- Parameters:
source- Eine Quelle für die Ressource (Absoluter Dateipfad, Dateipfad im Classpath).- Returns:
OutputStreamfü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
BufferedReaderfü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 einenBufferedReadermit 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
BufferedReaderfü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
BufferedWriterfü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
BufferedWriterfür die Quelle. - Throws:
IOException- Falls die Quelle nicht exisitert oder nicht geöffnet werden kann.- See Also:
-