DirScanner.java 916 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package audio.io;
  2. import java.io.File;
  3. import java.io.FileFilter;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import audio.Song;
  8. public class DirScanner {
  9. public static List<Song> scanDirectories(File f)
  10. {
  11. List<Song> songs = new ArrayList<Song>();
  12. if(!f.isDirectory())
  13. return songs;
  14. FileFilter dirs = new FileFilter()
  15. {
  16. public boolean accept(File e) {
  17. if(e.isDirectory())
  18. return true;
  19. else
  20. return false;
  21. }
  22. };
  23. FileFilter csf = new FileFilter()
  24. {
  25. public boolean accept(File e) {
  26. if(e.isFile() && e.getName().endsWith(".csf"))
  27. return true;
  28. else
  29. return false;
  30. }
  31. };
  32. for(File file : f.listFiles(dirs))
  33. {
  34. for(File file2 : file.listFiles(csf))
  35. {
  36. try {
  37. Song s = JSONReader.readSong(file2);
  38. songs.add(s);
  39. } catch (IOException e1) {
  40. }
  41. }
  42. }
  43. return songs;
  44. }
  45. }