Java in Eclipse: Wo lege ich Dateien in das Dateisystem, das ich mit getResource laden möchte? (z. B. Bilder für eine ImageIcon)
Ich weiß, die Datei muss dort sein, wo die getClass().getResource(filename) kann es finden, aber ich weiß nicht, wo das ist.
Ich bin interessiert, sowohl in denen, um die Dateien auf dem Dateisystem selbst, und wie gehen Sie über die Verwendung des Eclipse-Funktionalität zum einrichten der Ressourcen.
InformationsquelleAutor der Frage Andrew Larned | 2008-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Eclipse, in der Regel alles, was Sie tun müssen, ist erstellen Sie einen Ordner irgendwo in deinem source-code-Verzeichnis. Zum Beispiel, wenn das Verzeichnis, welches Ihre Quelle ist
/src
dann können Sie eine/src/resources
Ordner, um Ihre Bilder/Dateien. Dann, innerhalb Ihrer Klasse, die Sie tun, einegetResource("/resources/image.png")
abrufen.Sie können auch das Bild/die Datei in den gleichen Ordner/package wie die Klasse versucht, darauf zugreifen, wenn Sie wünschen (Beispiel: platzieren Sie das Bild.png in die
com.mycompany
Paket mit dercom.mycompany.Foo
Klasse, die Zugriff darauf und rufengetResource("image.png")
), aber ich habe festgestellt, es einfacher zu halten, Ressourcen wie Bilder und andere Dateien in Ihrem eigenen Verzeichnis außerhalb der Klasse Ordner-Sie sind nur leichter zu verwalten, so.In Eclipse, wenn Sie eine bauen, die Dateien innerhalb dieser Ressource-Verzeichnis kopiert in das build-Verzeichnis zusammen mit der kompilierten Klassen.
Es ist wichtig zu beachten, dass, wenn Sie "Automatisch Erstellen" aktiviert in Eclipse (wie die meisten Menschen tun) alle Ressourcen in diesem Verzeichnis, die verändert wurden außerhalb von Eclipse (d.h. Sie Bearbeiten, ein Bild über ein Bild-editing-tool), dass die IDE kann nicht immer erkennen, dies zu ändern. In der Regel tun, ein refresh auf dem Projekt-Ordner wird sichergestellt, dass die Datei aktualisiert wird in der build-in diesen Situationen.
InformationsquelleAutor der Antwort BCunningham
Können Sie entweder legen Sie Sie in den src-Ordner neben den Klassen, oder erstellen Sie eine neue source-Verzeichnis, für den Zweck (in der Regel genannt Ressourcen), obwohl Sie finden Sie gleich aus dem code.
Dann kommen Sie an Sie mit
getResource("/com/x/y/foo.png")
.InformationsquelleAutor der Antwort jodonnell