Swing Ein Dateiname aus einem Verzeichnis per Zufall

diegodn

Mitglied
Hallo,

ich habe ein bisschen die Suche benutzt, habe allerdings nicht wirklich was zu meinem Problem gefunden.

Ich habe eine Oberfläche mit einem Button. Wenn ich auf dem Button drücke, soll ein bestimmtes Verzeichnis, der MIDI-Dateien enthält, ausgelesen werden und per Zufalll eine MIDI-Datei abgespielt werden.

Das Abspielen an sich funktioniert wenn ich bei "PFAD ZUR MIDI DATEI" den kompletten Pfad zur MIDI-Datei einfüge.

Das Problem ist, dass ich es nicht hinbekomme aus dem Verzeichnis ein Dateiname per Zufall auszulesen und in einem String zu speichern.

Java:
					File f = new File(PFAD ZUR MIDI DATEI); 
					AudioClip sound = null;
					try {
						sound = Applet.newAudioClip( f.toURL() );
					} catch (MalformedURLException e1) {
						System.out.println("fehler1");
					} 
					sound.play(); 
					try {
						Thread.sleep( 100000 );
					} catch (InterruptedException e1) {
						System.out.println("fehler2");
					}

Hoffe es hat jemand eine Idee 🙂

Grüße,
Diego
 
du kannst zu dem ordner wo die Dateien drin sind und mit diesem File Object kannst
listFiles(FileFilter filter) aufrufen und von dieser Liste eine Datei nehmen.
 
Ich habe zwar nicht wirklich verstanden wie du es gemeint hast, allerdings habe ich es nochmal probiert und hinbekommen. 🙂

Für andere Leute, die das Problem haben, hier meine Lösung:

Java:
					Random zufall = new Random();
					
					File ordner = new File("C:/Test");
					File[] dateien = ordner.listFiles();

					int datei = zufall.nextInt(dateien.length);
					
					File midi = dateien[datei];
					
					System.out.println(midi.toString());

Grüße,
Diego
 
Wenn das soetwas wie eine zufällige Playlist werden soll, würde ich einfach das Array "durchschütteln":
Java:
Collections.shuffle(Arrays.asList(array));
 

Neue Themen


Zurück
Oben