So laden / referenzieren Sie eine Datei als Dateiinstanz aus dem Klassenpfad
Ich habe eine Datei, die in meinem classpath, z.B. com/path/to/file.txt
. Ich brauche zu laden, oder einen Verweis auf diese Datei als java.io.File
Objekt. Das ist, weil ich auf die Datei zugreifen, mit java.io.RandomAccessFile
(die Datei ist groß, und ich benötigen, um zu suchen, um eine bestimmte byte-offset). Ist das möglich? Die Konstruktoren für RandomAccessFile
erfordern eine File
Instanz oder einen String (Pfad).
Wenn es gibt eine andere Lösung zu suchen, um eine bestimmte byte-offset und Lesen Sie die Zeile, ich bin offen zu, wie gut.
Kommentar zu dem Problem
Arbeiten Ende zum Beispiel ist hier für details: [stackoverflow.com/questions/1464291/...
InformationsquelleAutor der Frage jake | 2010-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, immer halten, der eine URL für Ihre classpath-Ressource:
Dann erstellen Sie eine Datei mit der Konstruktor akzeptiert eine URI:
InformationsquelleAutor der Antwort joelittlejohn
Funktioniert das auch, und nicht ein /Pfad/zu/Datei-URI-Konvertierung. Wenn sich die Datei auf dem Klassenpfad, so finden Sie es.
InformationsquelleAutor der Antwort Hotel
Finde ich diese eine Zeile code, wie effizient und nützlich:
Funktioniert wie ein Charme.
InformationsquelleAutor der Antwort Gondy
Oder verwenden Sie direkt die
InputStream
der Ressource mit den absoluten KLASSENPFAD Pfad (beginnend mit der/
Schrägstrich):Oder relative KLASSENPFAD Pfad (wenn die Klasse, die Sie schreiben, ist in dem Java-Paket als Ressource-Datei selbst, d.h.
com.path.to
):InformationsquelleAutor der Antwort Jiri Patera