DirScanner.java 944 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. e1.printStackTrace();
  41. }
  42. }
  43. }
  44. return songs;
  45. }
  46. }