Path: csiph.com!weretis.net!feeder8.news.weretis.net!news.szaf.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?UTF-8?Q?Peter_M=c3=bcller?= Newsgroups: de.comp.lang.java Subject: Re: Wie komme ich von einer URL zu einem Dateinamen? Date: Tue, 16 May 2023 18:50:33 +0200 Lines: 53 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net 2AdWTJFBVvQNsY1tOT7LNAKBdyaFO1KEHaHb9uiZiPy8f4wA4Y Cancel-Lock: sha1:blZNdV1xDTQe7MxRYB/rorAtQ20= User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 In-Reply-To: Xref: csiph.com de.comp.lang.java:13455 >> InputStream inputStream_geht_nicht_1 = >> ClassLoader.getSystemResourceAsStream("InitializeAudio.mp3"); >> InputStream inputStream_geht_nicht_2 = >> MainWindow.class.getClassLoader().getResourceAsStream("InitializeAudio.mp3"); >> Die beiden Streams sind null. Patrick Roemer schrieb: > > "Funktioniert nicht" ist nie eine sinnvolle Fehlerbeschreibung. Wenn Du, > egal wo, wirklich Hilfe erhalten willst, solltest Du alle potentiellen > Informationen zur Verfügung stellen, hier etwa: Exception stack trace > oder Beschreibung des unerwarteten Verhaltens, Dateisystemlayout der > class path resources, etc. Ich hatte ja geschrieben, dass es jetzt geht. Ich brauche keine Hilfe mehr. Es war nur ein Info-Posting. > > https://www.baeldung.com/java-class-vs-classloader-getresource > > Bei mir tut es problemlos mit getClass.getResource("/audio.mp3"), wenn > die Datei top level im class path liegt, und mit > getClass.getResource("audio.mp3"), wenn die Datei in einen Pfad analog > zur Package der Klasse liegt - kein Handstand mit temporären Dateien > notwendig. > Auf welchen Objekt bzw. Klasse befindet ich die getClass-Methode? Ich habe mehrere Varianten ausprobiert, aber es funktioniert nicht. Auch nicht, wenn die Audio-Datei oben im Klassenpfad liegt. Im Eclipse funktioniert getInputFiles("InitializeAudio.mp3"); getInputFiles("./InitializeAudio.mp3"); getInputFiles("/InitializeAudio.mp3"); getInputFiles(String path) ist im wesentlichen URL url = MainWindow.class.getResource(path); URI uri = url.toURI(); File inputFile=new File(uri);