1
2
3
4 package com.webstersmalley.mediacollection.controller;
5
6 import java.io.File;
7 import java.util.HashSet;
8 import java.util.Iterator;
9 import java.util.Set;
10
11 import com.webstersmalley.mediacollection.model.SimpleMediaCollectionBean;
12
13 /**
14 */
15 public class DirectoryParser
16 {
17 private String path;
18 private String collectionName;
19 private String formatName;
20
21 public DirectoryParser(String path, String collectionName, String formatName)
22 {
23 this.path = path;
24 this.collectionName = collectionName;
25 this.formatName = formatName;
26 }
27
28 private void parse(File folder, Set beans)
29 {
30 String artistName = folder.getName();
31 if (folder.isDirectory())
32 {
33 File[] directories = folder.listFiles();
34 if (directories == null)
35 {
36 return;
37 }
38 for (int i = 0; i < directories.length; i++)
39 {
40 if (directories[i].isDirectory())
41 {
42 SimpleMediaCollectionBean bean = new SimpleMediaCollectionBean();
43 bean.setFormat(formatName);
44 bean.setCollection(collectionName);
45 bean.setArtist(artistName);
46 bean.setName(directories[i].getName());
47 beans.add(bean);
48 }
49 }
50 }
51
52 }
53
54 public Set parse()
55 {
56 Set beans = new HashSet();
57
58 File root = new File(path);
59 if (root.isDirectory())
60 {
61 File[] directories = root.listFiles();
62
63 for (int i = 0; i < directories.length; i++)
64 {
65 if (directories[i].isDirectory())
66 {
67 parse(directories[i], beans);
68 }
69 }
70 }
71
72 return beans;
73 }
74
75 public static void main(String[] args)
76 {
77 DirectoryParser parser = new DirectoryParser("c:/to burn/MP3 - 55/From laptop", "test", "mp3");
78 Set beans = parser.parse();
79 Iterator it = beans.iterator();
80 while (it.hasNext())
81 {
82 System.out.println(it.next());
83
84 }
85 }
86 }