Ich habe eine JAR-Datei, die einige TXT-Dateien verwendet. Um sie zu bekommen, verwendet es Funktion.getResourceAsStream funktioniert nicht für jede Klasse?
Class A
{
public InputStream getInputStream(String path) throws Exception {
try {
return new FileInputStream(path);
} catch (FileNotFoundException ex) {
InputStream inputStream = getClass().getResourceAsStream(path);
if (inputStream == null)
throw new Exception("Failed to get input stream for file " + path);
return inputStream;
}
}
}
Dieser Code funktioniert einwandfrei.
Problem ist, wenn ich Klasse A als extends java.io.File
definieren, ist der InputStream, den ich von getResourceAsStream
bekomme, Null.
Auch, wenn ich Klasse A als reguläre Klasse verlassen (wird nicht vererbt) und Klasse B definieren als:
Class B extends java.io.File
{
public InputStream getInputStream(String path) throws Exception
{
return new A().getInputStream(path);
}
}
der zurückInput noch null ist.
Was ist das Problem? Gibt es eine Möglichkeit, auf die Datei von der Klasse zuzugreifen, die File
erbt?
Danke,
Sie haben Recht. Das Problem war anders. Siehe meine Antwort. Vielen Dank! – Dikla