Textdatei aus Ressourcen laden.

pc-freack

Mitglied
Hallo,

ich würde gerne folgendes machen.
Ich habe ein Packet in meinem Projekt.
In diesem Packet ist eine Textdatei namens "version" und eine weitere
Datei namens "Application.java".
In der Application.java möchte ich die textdatei auslesen.
Wie kann ich das anstellen.
Ich habe schon einiges gegooglet und auch ein paar dinge gefunden,
doch bis jetzt habe ich es entweder nicht verstanden oder
es hat bei mir einfach nicht funktioniert.

MfG pc-freack
 
Zuletzt bearbeitet:

pc-freack

Mitglied
Ich hab nun noch etwas gefunden, doch der Code funktioniert nur unter Windows
und leider nicht unter Ubuntu.

Code:

Java:
	public String getVersionFile() { 
        String path = "Files/version.txt"; 
		try {
			URL url = getClass().getClassLoader().getResource(path);
			InputStream data = url.openStream();
			System.out.println("Version-File: " + url.getPath());
	        int c; 
	        StringBuffer buff = new StringBuffer(); 
	        try { 
	            while ((c = data.read()) != -1) { 
	                buff.append((char) c); 
	            } 
	            data.close(); 

	        } catch (IOException e) { 
	            e.printStackTrace(); 
	        } 
	        return buff.toString();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			
		} 
       
        return "";
    }
 
S

SlaterB

Gast
ist das aktuell ein Jar oder Dateisystem? im ersten Fall zu entpacken?
kannst du mit Ubuntu-Tools im Dateisystem nachschauen ob im Dateisystem an richtiger Stelle vorhanden?
was liefert Java-File?

heißt die Datei wirklich version.txt oder unter Ubuntu zufällig nur noch version?
liegt sie parallel zur Java-Klasse wirklich in einem Unterverzeichnis?
wichtiger ist die .class-Datei als die .java-Datei, ist die zufällig woanders? src/bin-Verzeichnisse

in bis zu drei Stufen vorgehen:
a) funktioniert File
b) funktioniert Ressource entpackt,
c) funktioniert Ressource im Jar, falls nötig?
 

pc-freack

Mitglied
Also es handelt sich hier um eine .jar Datei.
Die version.txt ist in der Java Datei vorhanden unter dem Pfad: "Files/version.txt"
Die Application.class und die version.txt sind im gleichen Pfad, also Ordner.

Unter Windows bekomme ich folgenden Pfad, wenn ich es auslese:

Code:
file:/C:/Users/pc-freack/Desktop/System%20Analyzer%20-%20Java/System%20A
nalyzer.jar!/Files/version.txt

Und das auslesen funktioniert auch unter Windows.
Unter Ubuntu bekomme ich folgenden Pfad zurück:

Code:
file:/home/pc-freack/System%20Analyzer.jar!/Files/version.txt

Doch hier funktioniert es nicht mehr.
Die version.txt hat ihren Namen behalten und ist auch immer noch im gleichen Verzeichnis.
Hat sich also eigentlich mit der Datei nichts geändert. Mit gedit kann ich die Datei auch problemlos öffnen.

Was meinst du den damit, ob die Ressourcen in der Jar funktionieren?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
> Was meinst du den damit, ob die Ressourcen in der Jar funktionieren?
na ziemlich genau das was deine Frage ist,

> Die Application.class und die version.txt sind im gleichen Pfad, also Ordner.
wie kann das sein, Application.class befindet sich doch nicht in Files/ oder doch?

wenn ja dann muss das Verzeichnis weggelassen werden, nicht getestet?
die Angabe erfolgt relativ zur Klasse, sonst bräuchte man die Klasse ja nicht wirklich


-----

wie gesagt wäre nett, das Jar erstmal zu entpacken und mit Dateisystem zu arbeiten,
freilich kann es im Dateisystem funktionieren und dann im Jar einfach immer noch nicht,
aber lieber drauf ankommen lassen

entpacken, wo ist Application.class, welches package in Java deklariert, keins?
falls doch, auch passendens Unterverzeichnis vom Grundverzeichnis des Projekts aus?
und darin gibt es ein Verzeichnis Files mit der Textdatei darin?

wird
new File("evtl. Unverzeichnis der Klassse/Files/version.txt"); usw. gefunden, existiert die Datei?
geht ein FileReader testweise darauf?

bei File hat man netterweise die Möglichkeit, von wo immer man startet nachzuschauen wo man ist,
alle Unterverzeichnisse/ Dateien aufzulisten usw., das muss ich hoffentlich nicht alles Befehl für Befehl durchgehen

a) funktioniert File?
b) funktioniert Resource entpackt?
c) geht im Moment ja nicht
 
Zuletzt bearbeitet von einem Moderator:

pc-freack

Mitglied
Also die Application.class ist in der Jar im Unterordner Files, genauso wie die version.txt
Wenn ich beim Pfad nur "version.txt" oder "/version.txt" angebe, funktioniert es unter Windows nicht mehr.

Wenn ich es mit new File mache, funktioniert es auch nicht.
Dann findet er die Datei auch nicht.

Unter Windows funktioniert es mit dem Dateisystem.
Auch unter Ubuntu funktioniert es mit dem Dateisystem.
 
S

SlaterB

Gast
> Wenn ich beim Pfad nur "version.txt" oder "/version.txt" angebe, funktioniert es unter Windows nicht mehr.
aber unter Ubuntu schon?

-----

jetzt sehe ich erst wieder die zweite Variante, die irgendwie immer dabei ist:
> getClass().getClassLoader().getResource(path);
bezieht sich auf den ClassLoader, nicht auf die Klasse,
warum es da den Unterschied gibt kann ich freilich nicht genau sagen,

aber spricht etwas gegen
getClass().getResource(path);
?

das ist meines Erachtens die normalere Varianten, dann wirklich relativ zur Klasse, also "version.txt" oder "/version.txt",
geht das bei beiden oder einen?
wenn nicht kann ich allerdings auch wieder nicht mehr sagen, also ziemlich begrenzt dort ;)

edit:
nach
Class (Java Platform SE 6)
ist allerdings nicht viel neues zu erwarten..


------

> Wenn ich es mit new File mache, funktioniert es auch nicht.
> Dann findet er die Datei auch nicht.

ich jetzt nicht mehr wichtig, aber da hast du wohl nur einen deiner Pfade unbedarft eingetippt und einmal versucht,
mit File klappt es gerantiert immer, man muss nur das richtige File finden,

> Unter Windows funktioniert es mit dem Dateisystem.
> Auch unter Ubuntu funktioniert es mit dem Dateisystem.

erstaunlich, besonders dass dann gleichzeitig File nicht hinzubekommen ist
 
Zuletzt bearbeitet von einem Moderator:

pc-freack

Mitglied
Also das mit "version.txt" und "/version.txt" funktioniert bei beiden nicht.

Wenn ich "getClass().getResource(path);" schreibe, dann funktioniert es nicht mehr.

Mit dem File.
Also wenn ich new File deklariere, funktioniert es im Dateisystem, aber nicht, wenn die version.txt
nur in der jar vorhanden ist.
Kann sein, das ich vielleicht etwas nicht richtig verstanden habe.
Naja, ist ja jetzt auch nicht so wichtig, da ich ja beides getestet habe.

EDIT:

Ich hab nun die Application.class ins default package gepackt. Die version.txt
habe ich aber noch so gelassen.
Doch leider funktioniert das immer noch nicht.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
S Textdatei statt von Dateisystem aus .jar lesen Allgemeine Java-Themen 3
curranux Ausgabe als Textdatei schreiben. Allgemeine Java-Themen 2
killig Textdatei einlesen und in HashMap speichern (duplikate entfernen) Allgemeine Java-Themen 12
B Scanner erkennt keinen Text in Textdatei, obwohl welcher drinsteht Allgemeine Java-Themen 10
M In Textdatei schreiben Allgemeine Java-Themen 3
F Problem beim Einlesen einer Textdatei Allgemeine Java-Themen 12
J Bestimmte Zeile aus Textdatei auslesen Allgemeine Java-Themen 18
OnDemand Download Textdatei falsches Charset Allgemeine Java-Themen 1
K Textdatei als Objekt Allgemeine Java-Themen 4
O JAR Export Textdatei benutze Allgemeine Java-Themen 14
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
L Filewriter schreibt Zahlen in Textdatei Allgemeine Java-Themen 2
D Input/Output Zeilen werden "ignoriert" beim Einlesen aus einer Textdatei Allgemeine Java-Themen 3
T Synchronisation einer Textdatei im Groupshare Allgemeine Java-Themen 1
I String einer Textdatei anfügen Allgemeine Java-Themen 2
S Von Wav Datei mit Morsecode in Morsecode als Textdatei Allgemeine Java-Themen 2
R Duplikate aus einer Textdatei entfernen? Allgemeine Java-Themen 20
K Input/Output Ausgabe in Textdatei Allgemeine Java-Themen 7
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
J Textdatei auslesen, die gerade benutzt wird Allgemeine Java-Themen 8
W Auslesen von Textdatei Allgemeine Java-Themen 16
M gleichzeitiger Zugriff auf eine Textdatei Allgemeine Java-Themen 6
S TextDatei in Panel anzeigen Allgemeine Java-Themen 10
X Textdatei auf gewünschte Anzahl der Zeilen kürzen Allgemeine Java-Themen 2
S Input/Output Latin-9 (ISO 8859-15) Textdatei einlesen Allgemeine Java-Themen 2
L Input/Output Textdatei in Objekte überführen? Allgemeine Java-Themen 4
F In mitten einer Textdatei schreiben Allgemeine Java-Themen 7
N Textdatei in Jar Problem Allgemeine Java-Themen 6
B Leerzeile in Textdatei Allgemeine Java-Themen 3
B Textdatei Zeilen auslesen Allgemeine Java-Themen 7
E BlueJ Daten in Textdatei schreiben Allgemeine Java-Themen 21
D große Textdatei filtern Allgemeine Java-Themen 13
K Textdatei komplett auslesen bis auf 2 Zeilen Allgemeine Java-Themen 2
H Textdatei (1GB) einlesen und verarbeiten Allgemeine Java-Themen 15
S String verschlüsselt in Textdatei speichern Allgemeine Java-Themen 3
E Text ans Ende einer Textdatei anfügen Allgemeine Java-Themen 2
Balbes Dateipfad in den JFileChooser aus Textdatei einlesen Allgemeine Java-Themen 7
S Textdatei mit externen Editor öffnen Allgemeine Java-Themen 8
G Textdatei einlesen unter Windows 7 Allgemeine Java-Themen 4
A Textdatei im Applet einlesen Allgemeine Java-Themen 2
C Textdatei einlesen Allgemeine Java-Themen 3
L Textdatei nach Wörter durchsuchen Allgemeine Java-Themen 3
Psypsy Bits in Textdatei und zurück Allgemeine Java-Themen 3
A Zeilen aus einer Textdatei löschen Allgemeine Java-Themen 6
ModellbahnerTT Problem: Schleife über Textdatei Allgemeine Java-Themen 5
W Auslesen einer Textdatei Allgemeine Java-Themen 2
D HILFE - Textdatei im jar auslesen Allgemeine Java-Themen 10
T Auslesen und schreiben in eine Textdatei.HILFE!HILFE! Allgemeine Java-Themen 23
G Mit FileWriter in Textdatei über jar Allgemeine Java-Themen 4
E textdatei über "öffnen mit" aufrufen Allgemeine Java-Themen 6
A Objekte in Textdatei weiterschreiben Allgemeine Java-Themen 5
M Textdatei auslesen / schreiben (Server) Allgemeine Java-Themen 9
D Textdatei umbenennen Allgemeine Java-Themen 2
C Software für Windows PC mit integierter Db oder Textdatei? Allgemeine Java-Themen 19
G 2 zeilen in textdatei beim auslesen verbinden Allgemeine Java-Themen 10
D Zeilenvorschub aus einer Textdatei rausnehmen Allgemeine Java-Themen 11
J Textdatei oder doch DB? Allgemeine Java-Themen 2
T GUI mit DB oder Textdatei? Allgemeine Java-Themen 11
G Textdatei in String einlesen Allgemeine Java-Themen 2
M Inhalt von Textdatei in Spinner Allgemeine Java-Themen 5
M neue Textdatei DOS/Unix-Format Allgemeine Java-Themen 11
E Zeilenumbruch in einer Textdatei Allgemeine Java-Themen 2
E Zeilenbumbruch in einer Textdatei Allgemeine Java-Themen 3
D Textdatei und JTextArea Allgemeine Java-Themen 5
M Worte aus Textdatei mit Java ersetzen Allgemeine Java-Themen 4
G Unterscheidung: Binär- oder Textdatei Allgemeine Java-Themen 13
B Zeilenumbruch bei Schreiben einer Textdatei Allgemeine Java-Themen 10
M Textdatei per Request lesen? Allgemeine Java-Themen 2
L Textdatei einlesen und verändern Allgemeine Java-Themen 3
M Problem: Textdatei einlesen Allgemeine Java-Themen 2
Y Einlesen & Ausgeben einer Textdatei _2 Allgemeine Java-Themen 3
Y Einlesen & Ausgeben einer Textdatei Allgemeine Java-Themen 5
M Fehler beim öffnen einer 20 mb Textdatei im sign. Applet Allgemeine Java-Themen 5
byte Erste Zeile einer Textdatei entfernen Allgemeine Java-Themen 5
G Eingaben in Textdatei speichern Allgemeine Java-Themen 5
P Einlesen einer Textdatei Allgemeine Java-Themen 8
P Problem beim "spliten" eine Textdatei Allgemeine Java-Themen 3
T jar + Textdatei Allgemeine Java-Themen 2
X Bestimmtes Muster in Textdatei verändern Allgemeine Java-Themen 13
G Inhalt einer Textdatei in eine AWT List schreiben Allgemeine Java-Themen 3
G auslesen einer Textdatei Allgemeine Java-Themen 2
E Source-Code aus einer Textdatei kompilieren und ausführen Allgemeine Java-Themen 4
D Textdatei zeilenweise einlesen Allgemeine Java-Themen 2
M Mehrere Ressourcen in einem package ablegen Allgemeine Java-Themen 1
S Pfad zu Ressourcen Allgemeine Java-Themen 17
BRoll Ladestatus Ressourcen betrachten Allgemeine Java-Themen 5
D Ressourcen(config) laden Allgemeine Java-Themen 11
C Threads Verbraucht eine Zeitabfrage viele Rechen-Ressourcen? Allgemeine Java-Themen 8
hdi Ressourcen dynamisch zur Laufzeit laden Allgemeine Java-Themen 15
Kr0e Verbraucht ein schlafender Thread Ressourcen ? Allgemeine Java-Themen 8
M Wie externe System-Ressourcen zwangsweise freigeben Allgemeine Java-Themen 2
S Spiel - Ressourcen Allgemeine Java-Themen 10
G emf.ressourcen Allgemeine Java-Themen 7
F [JAR] Namenskonventionen für Ressourcen Allgemeine Java-Themen 2
D Alle Ressourcen auslesen Allgemeine Java-Themen 4
L Ressourcen Java Applikation Allgemeine Java-Themen 4
K Frage zur Deklaration von Variablen und deren Ressourcen Allgemeine Java-Themen 17
G Mit Klassenlader Sound Ressourcen laden Allgemeine Java-Themen 10
G Java-Webstart-Ressourcen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben