-
OWL- Dateien einbinden
Guten Tag,
ich versuche eine OWL- Datei in mein Programm einzubinden.
Der Quelltext:
FileManager fileManager = FileManager.get();
InputStream in = fileManager.open("C:\\Dokumente und Einstellungen\\Desktop\Test.owl");
if(in == null){throw new IllegalArgumentException("Datei nicht da"); }
Leider wirft mir der Compiler immer die Fehlermeldung raus, dass die Datei nicht da ist. Der Pfad ist der richtige, auch mit der URI der Ontologie lässt sich kein InputStream erzeugen. Die notwendigen packages (java.io.InputStream, com.hp.hpl.jena.util.FileManager) sind eingebunden.
Kann mit bitte jemand helfen?
Danke schon mal im Vorraus!!!
-
Hallo,
hab jetzt keine richtige Erfahrung mit Java, aber in der Pfadangabe steht vor dem letzten Backslash kein Escape-Zeichen ("C:\\Dokumente und Einstellungen\\Desktop\Test.owl" statt "C:\\Dokumente und Einstellungen\\Desktop\\Test.owl"). Und wieso meldet der Compiler dass die Datei nicht da ist? Sollte da nicht eher die Exception geworfen werden?
Gruß, Florian
-
Der Compiler überprüft garantiert nicht, ob eine Datei da ist, oder nicht. Kannst Du mal die genaue Fehlermeldung posten?
-
Also die exakte Fehlermeldung:
Exception in thread "main" java.lang.IllegalArgumentException: Datei nicht da
at SWT_Anfrage.main(SWT_Anfrage.java:50)
Der fehlende Backslash ist in der Datei da! Vielen Dank.
-
Nur zur Erklärung, die Fehlermeldung kommt nicht vom Compiler sondern von der Java-Laufzeitumgebung und ist genau die Exception die Du in Deinem Code schmeißt.
fs111
-
Dankeschön,
aber wie genau bekomme ich es jetzt hin, das (in != null) ist. Das heißt für mich ja, das er in der angegebenen Datei nichts gefunden hat. Weil die Exception ja nur eintritt, wenn (in == null).
-
Indem Du den richtigen Pfad zur Datei angibst? Ist da evtl. noch ein Tippfehler drin? Hast Du mal versucht, die Datei nach c:\ zu verschieben, um Tippfehler im Pfad zu vermeiden?
fs111
-
Vielen Dank, da war kein Tippfehler drin. Ich hab meine Firewall ausgeschaltet, die hat das ganze geblockt. Jetzt geht es.
-
Deine Firewall blockt den Zugriff auf Dateien auf Deiner Festplatte? Schmeiß den Mist weg und lies das hier: http://www.ntsvcfg.de/linkblock.html
fs111
-
Was ist das für ein seltsames FileManager Ding? Was macht das? Normalerweise öffnet man Dateien so:
Code:
import java.io.FileInputStream;
// ...
InputStream in = new FileInputStream("/path/to/file");
Und das wirft dann selbst eine entsprechende IOException, falls was net geht.