2010-05-09 4 views

Antwort

29

Nicht direkt, nein - getResourceAsStream() soll eine Sicht auf schreibgeschützte Ressourcen zurückgeben.

Wenn Sie wissen, dass die Ressource eine schreibbare Datei ist, können Sie jedoch durch einige Rahmen springen, z.

Dies sollte gut auf Unix-Stil-Systemen funktionieren, aber Windows-Dateipfade können diese Verdauungsstörungen geben. Probieren Sie es aus und finden Sie heraus, aber Sie könnten in Ordnung sein.

+0

Leider war ich nicht in Ordnung. Ich musste 'toString()' zu 'toUri()' hinzufügen: 'new File (resourceUrl.toURI(). ToString());'. Aber jetzt wird eine 'FileNoFoundException' in der dritten Zeile geworfen:' "vfszip: \ C: \ jboss-5.1.0.GA \ server \ default \ deploy \ IMAss4.war \ WEB-INF \ classes \ wservices \ markers.txt (Der Dateiname, der Verzeichnisname oder die Laufwerkslabelsyntax sind falsch) "' –

+0

@Andreas: OK, das ist das interne virtuelle Dateisystem von JBoss, das in die Quere kommt. Aus diesem Grund ist das, was Sie versuchen, nicht ratsam. – skaffman

+0

Also, gibt es eine Möglichkeit, die Datei in den Ordner "Webseiten" zu legen und von meinem Web Service aus zu lesen/schreiben? (Siehe meine Frage hier für meine Struktur von Dokumenten: http://stackoverflow.com/questions/2797162/getresourceastream-is-always-returning-null) –

10

Gibt es eine Möglichkeit, wie ich auch in die Datei schreiben kann?

Wer sagt, dass es eine Datei ist? Der ganze Sinn von getResourceAsStream() ist, das wegzu abstrahieren, weil es vielleicht nicht wahr ist. Insbesondere kann sich die Ressource in einer JAR-Datei befinden, kann von einem HTTP-Server gelesen werden oder wirklich alles, was sich der Implementierer der ClassLoader vorstellen könnte.

Sie sollten wirklich nicht wollen zu einer Ressource schreiben, die Teil Ihrer Programmverteilung ist. Es ist konzeptionell in den meisten Fällen falsch. Einstellungen oder benutzerspezifische Daten sollten an die Preferences API oder das Home-Verzeichnis des Benutzers gehen.

+0

Dann gibt es einen Weg, ich kann auf eine Datei zugreifen, die wo der Jsp Seiten sind? dh direkt im Ordner "Webseiten"? aus dem Web Service dh –

+3

Diese Antwort bietet keine Antwort. Es sollte ein Kommentar sein. – dghubble

Verwandte Themen