FileInputStream relativer Pfad in .jar

mazyd

Mitglied
Hallo!

Ich habe ein kleines Problem mit dem FileInputStream. Ich möchte eine mp3 mit dem Player von Javazoom abspielen.
Das funktioniert in Eclipse auch relativ gut, aber halt nur relativ.
Das Problem dabei ist, dass der Player einen FileInputStream bekommt (für Musik auch ne ganz gute Variante).
Hier mal der kleine Codeschnipsel, um den es geht:


Java:
FileInputStream fis = null;
System.out.println(this.getClass().getResource("/res/music/girls.mp3"));
String urlString = this.getClass().getResource("/res/music/girls.mp3").toString();
urlString = urlString.replaceAll("file:", "");
try {
	fis = new FileInputStream(urlString);
} catch (FileNotFoundException e) {
	e.printStackTrace();
}
		
try {
	mp3Player = new Player(fis);
} catch (JavaLayerException e) {
	e.printStackTrace();
}

So, nun gibt mir
Java:
System.out.println(this.getClass().getResource("/res/music/girls.mp3"));

als Rückgabe "file:<richtigerPfad>/girls.mp3"
zurück.

Alles schön und gut, aber der FileInputStream findet die Datei nicht. Ich habe dann herausgefunden, dass wenn ich das "file:" am Anfang wegnehme, der ganze Spaß abgespielt wird.
Daher auch

Java:
urlString = urlString.replaceAll("file:", "");

Okay, also funktioniert das schon mal...

Problem ist nun, dass ich das gerne in eine .jar packen würde (soll ein Geschenk für meine Freundin werden)...
Die Musik wird mit in der .jar exportiert und ist auch an der richtigen Stelle (bzw. weiß ich, an welcher Stelle sie nach dem Exportieren ist).

Jetzt ist der Pfad natürlich:
"jar:file:<Pfad zur jar>/kalender.jar!/<Pfad zur Datei>/girls.mp3"

An sich total korrekt, aber unangenehme Sache dabei ist, dass der FileInputStream wohl (bei mir) nicht klar kommt mit dem jar:file:...

Nehme ich das raus, kann er auch nicht in die jar.

Ich hoffe, dass das Problem klar geworden ist...

Wenn ich statt FileInputStream einfach File nehme, dann findet er die File, aber dann müsste ich warten, bis das gesamte Lied in den Speicher geladen wurde, bevor ich's abspielen kann, weil's sonst ja echt mies klingt, daher würde ich ungern auf den Stream verzichten.

Also kann man irgendwie einen Pfad zu einer Datei in einer jar für den FileInputStream angeben?

Randinfo:
OS: Ubuntu
IDE: Eclipse
 
N

nillehammer

Gast
Also kann man irgendwie einen Pfad zu einer Datei in einer jar für den FileInputStream angeben?
Leider nein. Der FileInputStream zeigt auf eine Datei (in dem Fall das jar selbst). An die Dateien in dem jar kommst Du anders heran.

Es würde mich aber wundern, wenn die Klasse Player wirklich unbedingt einen FileInputStream braucht und nicht einen beliebigen. Habe deswegen gegoogelt und das hier gefunden: Player
Ist das das, was Du benutzt? Dann kannst Du einen beliebigen InputStream übergeben. Du warst mit dem hier:
Java:
System.out.println(this.getClass().getResource("/res/music/girls.mp3"));
schon recht nah dran. Probier mal folgendes:
Java:
final String mp3Path = "/res/music/girls.mp3";

final InputStream mp3In = getClass().getResourceAsStream(mp3Path);

final Player mp3Player = new Player(mp3In);
 

mazyd

Mitglied
JAAAA!

Du bist es! Du hast mir gerade mit dem Post so dermaßen weitergeholfen...
Ich sitze bestimmt seit einer Woche an dem Problem und war einfach zu blöd :(

Vielen, vielen Dank! Es funktioniert wunderbar!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Input/Output FileInputStream Allgemeine Java-Themen 8
JG12111989 FileInputStream - Breite einer bmp-Datei?? Allgemeine Java-Themen 8
C FileInputStream frage Allgemeine Java-Themen 6
C FileInputStream in FileOutputStream leiten Allgemeine Java-Themen 2
R new FileInputStream(in).getChannel(); Allgemeine Java-Themen 7
E relative Adresse bei FileInputStream Allgemeine Java-Themen 2
P Input/Output FileInputStream java.io.FileNotFoundException Allgemeine Java-Themen 36
S FileInputStream aplication Pfad Allgemeine Java-Themen 4
S FileInputStream aus ContextClassLoader? Allgemeine Java-Themen 3
D FileInputStream bzw. BufferedInput Stream Puffern Allgemeine Java-Themen 6
J Probleme mit FileInputStream Allgemeine Java-Themen 5
L Classpath Relativer Pfad einer Resource? Allgemeine Java-Themen 9
M Relativer Pfad oder Dateien in Jar Allgemeine Java-Themen 7
S relativer Pfad? Allgemeine Java-Themen 18
S Relativer Pfad in jsp Allgemeine Java-Themen 6
B relativer Pfad Allgemeine Java-Themen 18
G Relativer Pfad zu Pfad Allgemeine Java-Themen 2
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
S Pfad zu Ressourcen Allgemeine Java-Themen 17
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
C FileOutputStream konkreter Pfad Allgemeine Java-Themen 3
J Datei löschen, die Leerzeichen im Pfad hat Allgemeine Java-Themen 5
sandaime CMD aufrufen und aktuellen pfad ändern Allgemeine Java-Themen 11
J .exe Dateien werden nicht gestartet obwohl Pfad richtig Allgemeine Java-Themen 6
C pfad vom Image ausgeben lassen Allgemeine Java-Themen 5
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
K Classpath Falscher Pfad? o.O Allgemeine Java-Themen 2
S Shell Commands mit absolutem Pfad ausführen Allgemeine Java-Themen 2
F LWJGL in keinem Java libary Pfad? Allgemeine Java-Themen 2
D pfad zur jre linux Allgemeine Java-Themen 8
C Kompletter Pfad aus "input type=file" auslesen Allgemeine Java-Themen 3
M Input/Output Pfad mit Leerzeichen convertieren in Kurzschreibweise (~1, ~2, etc)? Allgemeine Java-Themen 10
C JAR, Pfad und Properties Allgemeine Java-Themen 17
P Pfad zu Dateien von "Tragbaren Gerät" Allgemeine Java-Themen 3
F Pfad der laufenden JAR ermitteln (mit Archivnamen) Allgemeine Java-Themen 2
U DLLs werden nicht gefunden trotz Pfad: Allgemeine Java-Themen 4
G log4j File erzeugen und Pfad bestimmen Allgemeine Java-Themen 3
A File Java Pfad Allgemeine Java-Themen 5
D JavaEE-WebApp Pfad auslesen Allgemeine Java-Themen 3
M Pfad in int[][] finden Allgemeine Java-Themen 4
J Java Pfad nicht mehr in Path Variablen??? Allgemeine Java-Themen 2
C Environment Variable in Pfad -> Datei öffnen Allgemeine Java-Themen 5
D Pfad aus Ressource-Datei auslesen Allgemeine Java-Themen 7
H Datei speichern -> Pfad erstellen? Allgemeine Java-Themen 1
T Pfad Anwendungsdaten unter Windows ermitteln Allgemeine Java-Themen 3
H2SO3- jar soll eigenen namen(pfad) finden Allgemeine Java-Themen 12
W HTML-Pfad Allgemeine Java-Themen 4
M Batch ausführen mit Leerzeichen im Pfad Allgemeine Java-Themen 7
C Applet: JFileChooser: PFad an HTML zürückgeben Allgemeine Java-Themen 4
MQue ClassLoader Pfad ausgeben Allgemeine Java-Themen 6
T Pfad aus Dateilesen -> wie diesen Pfad verwenden! Allgemeine Java-Themen 13
A Jar-File - Pfad Allgemeine Java-Themen 3
-horn- Kürzester Pfad: Code so eine gute Idee? Allgemeine Java-Themen 7
H absoluter Pfad ins working Directory Allgemeine Java-Themen 17
GambaJo Pfad zum Userprofil abhängig vom OS (/home Dok&Einst. us Allgemeine Java-Themen 3
R Wo ist der Pfad zur "Java(TM) Platform SE" Allgemeine Java-Themen 7
R Pfad zu PDF bei iText in Webapps Allgemeine Java-Themen 4
P Pfad der gerade ausgeführten Jar-Datei auslesen Allgemeine Java-Themen 2
R Entfernen der '..' Notation aus dem Pfad Allgemeine Java-Themen 2
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
MasterEvil File.createTempFile liefert nur kurzen Pfad mit Tilde Allgemeine Java-Themen 3
T Wie bekomme ich den Pfad ohne Dateiname? Allgemeine Java-Themen 2
MQue Pfad splitten Allgemeine Java-Themen 2
P Pfad schließen xml Allgemeine Java-Themen 3
M Absoluter Pfad. Allgemeine Java-Themen 6
H Pfad einer Sounddatei von Soundkarte auslesen Allgemeine Java-Themen 15
G Problem Pfad zu wechseln Allgemeine Java-Themen 28
J Erkennen aus welchem Pfad das Jar gestartet wurde Allgemeine Java-Themen 6
S Relativen Pfad zu Pfad für File finden Allgemeine Java-Themen 4
G Problem mit Leerzeichen im Pfad bei File und getResouce Allgemeine Java-Themen 2
D Pfad ausfindig machen? Allgemeine Java-Themen 2
E Pfad angeben Allgemeine Java-Themen 5
M Den Pfad ermitteln aus dem die .jar Datei gestartet wurde Allgemeine Java-Themen 2
G ganze Pfad in einer Ordnerstruktur abbilden Allgemeine Java-Themen 19
G FileOpenDialog Pfad anlegen? Allgemeine Java-Themen 2
E in Pfad suchen Allgemeine Java-Themen 5
Q || Wie speichert man Dateien wo der Pfad als Link(UNIX)... Allgemeine Java-Themen 11
S Pfad Verwaltung Allgemeine Java-Themen 3
M Pfad zur Klasse ermitteln Allgemeine Java-Themen 2
L Pfad von Daten auf Server über FileChooseDialog Allgemeine Java-Themen 5
G absoluter pfad aus relativem Allgemeine Java-Themen 5
G Root-Pfad in einer Webapplikation finden Allgemeine Java-Themen 7
D Windows Pfad in UNC Pfad wandeln Allgemeine Java-Themen 4
G jar archiv und native klassen (pfad angabe) Allgemeine Java-Themen 2
P Leerzeichen im Pfad Allgemeine Java-Themen 8
I Pfad in einem String ändern Allgemeine Java-Themen 5
D Pfad zu meiner anwendung? Allgemeine Java-Themen 13
J Pfad problem Allgemeine Java-Themen 14
D Jar-Datei-Pfad Allgemeine Java-Themen 2
welterde Pfad zur Jar-Datei Allgemeine Java-Themen 7
S Runtime exec unter MacOS X will nicht "open pfad" Allgemeine Java-Themen 7
M TreePath aus einem Pfad? Allgemeine Java-Themen 4
K Falscher Pfad beim Laden eines Bildes Allgemeine Java-Themen 9
G Servlets: Ganzer Pfad und Dateiname des verschickten Forms Allgemeine Java-Themen 15
G Wie komme ich an den Pfad zu meinem Programm? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben