snipplrCallback({"id":63696,"title":"directorylist-in-rhino","source":"
importPackage(<\/span>java.io<\/span>)<\/span>;<\/span><\/div><\/li> <\/div><\/li> function<\/span> directoryList(<\/span>startPath)<\/span>{<\/span><\/div><\/li> \tvar<\/span> fileObject=<\/span>new<\/span> File(<\/span>startPath)<\/span>;<\/span><\/div><\/li> \tvar<\/span> list =<\/span> fileObject.list<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li> \tvar<\/span> results =<\/span> [<\/span>]<\/span>;<\/span> <\/div><\/li> <\/div><\/li> \tfor<\/span> (<\/span>var<\/span> i=<\/span>0<\/span>;<\/span> i<<\/span>list.length<\/span>;<\/span> i++<\/span>)<\/span> {<\/span><\/div><\/li> \t var<\/span> child =<\/span> new<\/span> File(<\/span>startPath +<\/span> "\/"<\/span> +<\/span> list[<\/span>i]<\/span>)<\/span>;<\/span><\/div><\/li> <\/div><\/li> \t if<\/span> (<\/span>child.isDirectory<\/span>(<\/span>)<\/span>)<\/span>{<\/span><\/div><\/li> \t \tvar<\/span> recurseDirectoryListing =<\/span> directoryList(<\/span>child.getCanonicalPath<\/span>(<\/span>)<\/span>)<\/span>;<\/span><\/div><\/li> \t \tresults =<\/span> results.concat<\/span>(<\/span>recurseDirectoryListing)<\/span>;<\/span><\/div><\/li> \t }<\/span><\/div><\/li> \t else<\/span>{<\/span><\/div><\/li> \t \tvar<\/span> fileArray =<\/span> {<\/span>}<\/span>;<\/span><\/div><\/li> \t \tfileArray[<\/span>'path'<\/span>]<\/span> =<\/span> child.getCanonicalPath<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li> \t \tfileArray[<\/span>'name'<\/span>]<\/span> =<\/span> child.getName<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li> \t \tfileArray[<\/span>'parent'<\/span>]<\/span> =<\/span> child.getParent<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li> \t \tfileArray[<\/span>'hidden'<\/span>]<\/span> =<\/span> child.isHidden<\/span>(<\/span>)<\/span> ;<\/span><\/div><\/li> \t \tfileArray[<\/span>'dir'<\/span>]<\/span> =<\/span> child.isDirectory<\/span>(<\/span>)<\/span> ;<\/span><\/div><\/li> \t \tvar<\/span> pos =<\/span> fileArray[<\/span>'name'<\/span>]<\/span>.lastIndexOf<\/span>(<\/span>'.'<\/span>)<\/span>;<\/span><\/div><\/li> \t \tif<\/span> (<\/span>pos <<\/span> 0<\/span>)<\/span>{<\/span><\/div><\/li> \t\t\t\tfileArray[<\/span>'ext'<\/span>]<\/span> =<\/span> ''<\/span>;<\/span><\/div><\/li> \t\t\t}<\/span>else<\/span>{<\/span><\/div><\/li> \t\t\t\tfileArray[<\/span>'ext'<\/span>]<\/span> =<\/span> fileArray[<\/span>'name'<\/span>]<\/span>.substring<\/span>(<\/span>pos+<\/span>1<\/span>)<\/span>;<\/span><\/div><\/li> \t\t\t}<\/span>\t<\/div><\/li> <\/div><\/li> \t \tresults.push<\/span>(<\/span>fileArray)<\/span>;<\/span><\/div><\/li> \t }<\/span><\/div><\/li> <\/div><\/li> \t}<\/span><\/div><\/li> \treturn<\/span> results;<\/span><\/div><\/li> }<\/span><\/div><\/li><\/ol><\/pre>","link":"https:\/\/snipplr.com\/view\/63696\/directorylist-in-rhino"});