Datei aus JAR lesen.

Servo Herko

Aktives Mitglied
Ich hatte vor den Text aus einer Datei mit:
Java:
new Scanner(new InputStreamReader(this.getClass().getResourceAsStream("moin"), "UTF-8")).useDelimiter("\\Z").next();
in einen String zu laden...

Wieso funktioniert das nicht? Es gibt immer ne NullpointerException^^

Vielen Dank ;D
 

turtle

Top Contributor
Ich würde es schrittweise verifizieren und habe in Verdacht, das folgende Zeile null liefert.

Java:
this.getClass().getResourceAsStream("moin")

Wenn das stimmt, würde ich weiter versuchen
Java:
this.getClass().getResourceAsStream("/moin")
wobei der Classpath das Verzeichnis enthalten muss, in dem sich moin befindet.
 

Servo Herko

Aktives Mitglied
Ah, du hast Recht^^
Wie kann ich denn dann aus der JAR lesen, ohne diesem "getClass()"?
Also so das es nicht im ClassPath stehen muss?

Danke :D
 

turtle

Top Contributor
Häh????:L

Wie kann ich denn dann aus der JAR lesen, ohne diesem "getClass()"?
Also so das es nicht im ClassPath stehen muss?
Ja, aber das ist doch genau die Aufgabe von getResourceAsStream()!

Es wird versucht von dem Classloader, der die Klasse geladen hat, auch die Resource zu laden.

Da du das Programm starten kannst, findet also java die Klasse über einen Classloader und folglich kann auch die Resource geladen werden.
Ein bisschen schwieriger wird es, wenn die Resource in einer anderen JAR abgelegt wurde. Aber auch hier Classpath richtig setzen und schon passt es.

Dieses ist aus meiner Sicht ein grosser Vorteil, da nirgends im Code steht, WO sich die Resource befindet, sondern lediglich der Classpath beim Aufruf richtig gesetzt sein muss. Und da du das Programm starten kannst..
 

Servo Herko

Aktives Mitglied
Hmm,
sagen wir, ich habe ein package namens "test" und in diesem ist die Main.class...
Wenn ich jetzt eine Datei die z.b. "moin" heisst, in einem Ordner habe, wo auch das package "test" drin ist, wie kann ich die auslesen?

Ich versteh das nicht wirklich mit dem ClassPath usw ;(
 

turtle

Top Contributor
Habe dich nicht ganz verstanden, aber hier muss moin im Package test sich befinden.

Java:
this.getClass().getResourceAsStream("/test/moin")
 
Zuletzt bearbeitet:

Servo Herko

Aktives Mitglied
Wieso kann ich bei Bildern aus dem Package laden aus dem ich will und bei Datein nur aus dem selben Package???
Z.b. Bilder:

JAR:
:main:
:Main.class //ok, sieht komisch aus, beim schreiben war es anders^^ die main ist in dem main //package
:ICON.png
//JAR ist die .jar; main ist ein Package, Main.class ist die Main-class; ICON.png ist in der .jar, nicht in dem main-package!

Hier kann ich:
Java:
ImageIO.read(Reader.class.getClassLoader().getResourceAsStream("ICON.png"));
benutzen! Ohne das es im selben Package stehen muss...


*den misst oben bekomm ich nicht grade, aber der text drunter und drüber müsste eig schon erklärt haben^^
 
Zuletzt bearbeitet:

turtle

Top Contributor
Wieso kann ich bei Bildern aus dem Package laden aus dem ich will und bei Datein nur aus dem selben Package???

Das stimmt nicht. Ich verweise auf meinen Blog-Eintrag der vielleicht Licht ins Dunkle bringt.

Da JAR Dateien "nur" ZIP Dateien mit besonderem Inhalt sind, ist der Zugriff auf ALLE Dateien innerhalb darin möglich hat also nix mit Packages zu tun.

Ich denke immer so, das eine JAR Datei als Root im Classpath steht und darin dann über getResourceAsStream "navigiert" wird, wie in einem Ordner.
 

Tobse

Top Contributor
Ich denke immer so, das eine JAR Datei als Root im Classpath steht und darin dann über getResourceAsStream "navigiert" wird, wie in einem Ordner.

Nach meiner Erfahrung ist der Pfad bei
Code:
getResourceAsStream()
relativ zum Verzeichniss der .class Datei. Sprich:
Code:
datei.jar
com
    example
        package
            Main.class
            resource.datei
        resources
            daten.txt
Dann kann man in der Klasse main über getClass().getResourceAsStream(...) wie folgt zugreiffen:
Code:
Datei             Parameter an getResourceAsStream
resource.datei    resource.datei
resource.datei    /com/example/package/resource.datei

daten.txt         ../resources/daten.txt
daten.txt         /com/example/resources/daten.txt
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Scripte oder Programmcode aus Datei lesen? Java Basics - Anfänger-Themen 5
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
G Excle datei aus resources folder finden und lesen Java Basics - Anfänger-Themen 5
J Datei aus Projektfolder lesen Java Basics - Anfänger-Themen 12
B Aus Datei lesen Java Basics - Anfänger-Themen 23
B Aus Datei lesen Java Basics - Anfänger-Themen 0
C Input/Output Datei aus Startverzeichnis lesen Java Basics - Anfänger-Themen 6
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
MaxG. Input/Output Datei lesen Java Basics - Anfänger-Themen 3
H Aus wav-datei lesen und in neue wav-datei speichern Java Basics - Anfänger-Themen 10
D Methoden Array aus Datei lesen und weitergeben? Java Basics - Anfänger-Themen 7
G tga Datei lesen und in eine matrix umwandeln Java Basics - Anfänger-Themen 1
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
K Mit Scanner aus einer txt Datei lesen und jede Person mit name, vorname, geburtsdatum speichern Java Basics - Anfänger-Themen 5
E Input/Output Property-Datei aus einer Zip lesen in in einer anderen Zip-Datei ist Java Basics - Anfänger-Themen 3
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
D Problem beim Lesen einer txt-Datei Java Basics - Anfänger-Themen 8
J Aus Datei lesen und ausgeben Java Basics - Anfänger-Themen 4
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
G Datei zeilenweise lesen Java Basics - Anfänger-Themen 19
M Wie sämtliche Schlüssel und Attibutwerte aus einer Propertie Datei lesen? Java Basics - Anfänger-Themen 3
S Compiler-Fehler jOpenDocument Kompelierfehler - ODS Datei lesen Java Basics - Anfänger-Themen 2
T BufferReader soll datei mehrmals lesen Java Basics - Anfänger-Themen 13
Z Problem beim Lesen und Schreiben einer Datei Java Basics - Anfänger-Themen 10
M Input/Output Viele short aus Datei lesen und von Little Endian zu Big Endian umwandeln Java Basics - Anfänger-Themen 12
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
A Eine Datei Lesen und bestimmte Position überschreiben Java Basics - Anfänger-Themen 2
S Input/Output aus Datei lesen Java Basics - Anfänger-Themen 6
A Datei relativ zur Lage des jar-files lesen Java Basics - Anfänger-Themen 16
Gossi Input/Output .csv Datei wird beim Lesen bearbeitet? Java Basics - Anfänger-Themen 8
C Wörter aus einer txt datei lesen Java Basics - Anfänger-Themen 19
E txt Datei schreiben und lesen Java Basics - Anfänger-Themen 9
T Datei über das Netz lesen Java Basics - Anfänger-Themen 2
W Aus Datei lesen Java Basics - Anfänger-Themen 15
Gossi Input/Output Datei Lesen, inhalt abfragen, speichern Java Basics - Anfänger-Themen 5
F Kann RandomAccessFile Zip Datei lesen? Java Basics - Anfänger-Themen 14
M Aus CSV-Datei lesen und anzeigen (bitte schnell um Antwort) Java Basics - Anfänger-Themen 6
J UTF8 txt-Datei lesen Java Basics - Anfänger-Themen 13
A Datei Lesen und Schreiben in gleichen Klasse Java Basics - Anfänger-Themen 3
Haubitze_Broese aus einer Datei lesen? Java Basics - Anfänger-Themen 6
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
K aus Datei lesen Java Basics - Anfänger-Themen 3
S Datei lesen Java Basics - Anfänger-Themen 27
M line.separator: Problem beim Lesen einer Datei Java Basics - Anfänger-Themen 11
K Text aus einem Datei lesen , und im JTextArea ausgeben. Java Basics - Anfänger-Themen 3
Ollek Bestimmte Zeilen aus einer HTML Datei lesen Java Basics - Anfänger-Themen 8
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
J Problem mit Datei lesen und schreiben Java Basics - Anfänger-Themen 8
M Datei Lesen Und Schreiben! -.- Java Basics - Anfänger-Themen 7
fbn Datei als Ganzes lesen (nicht zeilenweise) Java Basics - Anfänger-Themen 8
M Probleme mit dem Lesen einer m3u-Datei Java Basics - Anfänger-Themen 8
H Datei zeilenweise rückwärts lesen Java Basics - Anfänger-Themen 9
M Delphi-Record mit Java aus Datei lesen Java Basics - Anfänger-Themen 11
R Sequentielle Datei lesen und schreiben Java Basics - Anfänger-Themen 5
G FileInputStream--> Zahlen aus Datei lesen Java Basics - Anfänger-Themen 7
S Aus Datei lesen und im Array speichern Java Basics - Anfänger-Themen 2
J Datei lesen und in Array speichern Java Basics - Anfänger-Themen 5
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
P Teile aus Datei lesen und zus mit Strings in Datei speichern Java Basics - Anfänger-Themen 4
D excel datei Spalten lesen? Java Basics - Anfänger-Themen 7
J Kommandos aus Datei lesen Java Basics - Anfänger-Themen 13
J Datei zeilenweise lesen. Java Basics - Anfänger-Themen 4
S Werte aus Datei lesen und in Variable abspeichern Java Basics - Anfänger-Themen 4
alexpetri Datei in String lesen Java Basics - Anfänger-Themen 6
K XPath werter aus XML-Datei lesen Java Basics - Anfänger-Themen 6
M Datei lesen und Char für Char wiedergeben Java Basics - Anfänger-Themen 28
K Datei öffnen, lesen, bearbeiten, in neuer datei speichern Java Basics - Anfänger-Themen 12
T Zahlen aus einer Datei lesen Java Basics - Anfänger-Themen 3
B Wie eine bestimmte Zeile einer Txt-Datei lesen ? Java Basics - Anfänger-Themen 5
H Streams etc. erster Versuch Zeilen aus einer Datei zu lesen Java Basics - Anfänger-Themen 6
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
R Objekt aus Datei lesen Java Basics - Anfänger-Themen 5
J Class datei lesen Java Basics - Anfänger-Themen 2
T gezieltes lesen/schreiben in datei Java Basics - Anfänger-Themen 9
D ein File(Datei) lesen und diesen zu einem Hashmap hinfügen? Java Basics - Anfänger-Themen 5
A Datei lesen Java Basics - Anfänger-Themen 12
L Zeile aus Datei lesen Java Basics - Anfänger-Themen 5
S Datei lesen und speichern Java Basics - Anfänger-Themen 8
reibi Datei von hinten lesen Java Basics - Anfänger-Themen 11
G Mehrere Zahlen aus Datei lesen Java Basics - Anfänger-Themen 3
C Komische Zeichen beim Lesen aus einer .reg-Datei Java Basics - Anfänger-Themen 2
H Datei lesen und an bestimmter Stelle schreiben Java Basics - Anfänger-Themen 4
F Aus Byte Datei lesen Java Basics - Anfänger-Themen 4
B String aus Datei lesen + Länge berechnen Java Basics - Anfänger-Themen 2
L Strings von Datei lesen und in TextArea schieben Java Basics - Anfänger-Themen 3
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
S Datei lesen und in array rein Java Basics - Anfänger-Themen 10
tobiasbeil Von Datei byte für byte lesen und in ein Array einfügen. Java Basics - Anfänger-Themen 11
J Datei-Details /-Infos wie Kommentare, Autor lesen/schreiben Java Basics - Anfänger-Themen 2
F Datei lesen Java Basics - Anfänger-Themen 12
S Mit Scanner eine txt Datei lesen Java Basics - Anfänger-Themen 2
A Variablen in eine Datei speichern und lesen Java Basics - Anfänger-Themen 2
V Beim lesen aus einer Datei bekomme ich fehlerhafte Strings. Java Basics - Anfänger-Themen 2
G aus datei lesen und in liste einfügen Java Basics - Anfänger-Themen 5
B Datei lesen und schreiben Java Basics - Anfänger-Themen 2
R Zeilen aus datei lesen + doppelt gespeichert? Java Basics - Anfänger-Themen 3
B Aus Datei Lesen -> Compiler fehler Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben