PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OWL- Dateien einbinden



bine85
30-08-2008, 13:29
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!!!

ContainerDriver
30-08-2008, 14:15
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

fs111
30-08-2008, 14:40
Der Compiler überprüft garantiert nicht, ob eine Datei da ist, oder nicht. Kannst Du mal die genaue Fehlermeldung posten?

bine85
30-08-2008, 20:16
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.

fs111
31-08-2008, 01:46
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

bine85
31-08-2008, 12:17
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).

fs111
31-08-2008, 13:14
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

bine85
31-08-2008, 15:09
Vielen Dank, da war kein Tippfehler drin. Ich hab meine Firewall ausgeschaltet, die hat das ganze geblockt. Jetzt geht es.

fs111
31-08-2008, 19:56
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

panzi
31-08-2008, 22:19
Was ist das für ein seltsames FileManager Ding? Was macht das? Normalerweise öffnet man Dateien so:



import java.io.FileInputStream;

// ...

InputStream in = new FileInputStream("/path/to/file");


Und das wirft dann selbst eine entsprechende IOException, falls was net geht.