vdheide library: List<File> to MP3File[]

Status
Nicht offen für weitere Antworten.

g.rottig

Mitglied
Hallo Leute!

ich habe eine Collection List<File> mp3List, in der ich meine Files, in dem Fall Mp3s gespeichert habe.
Nun möchte ich ja mit den vdheide-MP3File-Methoden darauf zugereifen
-> meine List<File> mp3List muss ich in MP3File[] oder List<MP3Files> umwandeln..

das hab ich wie folgt probiert:

Code:
MP3File[] mp3 = (MP3File[])mp3List.toArray(new MP3File[0]);

hier kommt eine java.lang.ArrayStoreException.

dann hab ich mir gedacht, dass es wohl so gemacht werden muss:

Code:
MP3File[] mp3 = (MP3File[])mp3List.toArray(new File[0]);

aber von wegen:
java.lang.ClassCastException: [Ljava.io.File; cannot be cast to [Lde.vdheide.mp3.MP3File;


Was mach ich falsch?
Was muss ich mit meiner List<File> mp3List anstellen, dass ich die MP3File-Methoden hernehmen kann?

nette Grüße,
g.rottig
 
wie sieht das MP3File genau aus? hast du eine dokumentation? api oder so... gibts einen Konstrutkor der File übernimmt?

wenn ja kannst du sowas machen

Code:
      ArrayList<File> files = new ArrayList<File>();
      ArrayList<MP3File> mp3Files = new ArrayList<MP3File>();
      for(File f: files)
         mp3Files.add(new MP3File(f));
 
jo gibts..

Constructor Summary
MP3File(java.io.File dir, java.lang.String filename)
Creates a MP3File instance that represents the file with the specified name in the specified directory.
MP3File(java.lang.String filename)
Creates a new instance.
MP3File(java.lang.String dir, java.lang.String filename)
Creates a File instance whose pathname is the pathname of the specified directory, followed by the separator character, followed by the name argument.

also

Code:
ArrayList<File> files = new ArrayList<File>(); 
      ArrayList<MP3File> mp3Files = new ArrayList<MP3File>(); 
      for(File f: files) 
         mp3Files.add(new MP3File(f.getName()));
 
Genau sooo hat's funktioniert,
er brauchte nur noch den absoluten Pfad des Mp3-files, nicht nur den Namen, also:

Code:
//List<File> mp3List;

ArrayList<File> files = new ArrayList<File>();
        
        files.addAll(mp3List);
        
ArrayList<MP3File> mp3Files = new ArrayList<MP3File>();
        
        for (File f : files) {         
                mp3Files.add(new MP3File(f.getAbsolutePath()));
                }

Perfekt, Danke nochmal ARadauer!!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben