snipplrCallback({"id":63696,"title":"directorylist-in-rhino","source":"
  1. importPackage(<\/span>java.io<\/span>)<\/span>;<\/span><\/div><\/li>
  2.  <\/div><\/li>
  3. function<\/span> directoryList(<\/span>startPath)<\/span>{<\/span><\/div><\/li>
  4. \tvar<\/span> fileObject=<\/span>new<\/span> File(<\/span>startPath)<\/span>;<\/span><\/div><\/li>
  5. \tvar<\/span> list =<\/span> fileObject.list<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li>
  6. \tvar<\/span> results =<\/span> [<\/span>]<\/span>;<\/span> <\/div><\/li>
  7.  <\/div><\/li>
  8. \tfor<\/span> (<\/span>var<\/span> i=<\/span>0<\/span>;<\/span> i<<\/span>list.length<\/span>;<\/span> i++<\/span>)<\/span> {<\/span><\/div><\/li>
  9. \t var<\/span> child =<\/span> new<\/span> File(<\/span>startPath +<\/span> "\/"<\/span> +<\/span> list[<\/span>i]<\/span>)<\/span>;<\/span><\/div><\/li>
  10.  <\/div><\/li>
  11. \t if<\/span> (<\/span>child.isDirectory<\/span>(<\/span>)<\/span>)<\/span>{<\/span><\/div><\/li>
  12. \t \tvar<\/span> recurseDirectoryListing =<\/span> directoryList(<\/span>child.getCanonicalPath<\/span>(<\/span>)<\/span>)<\/span>;<\/span><\/div><\/li>
  13. \t \tresults =<\/span> results.concat<\/span>(<\/span>recurseDirectoryListing)<\/span>;<\/span><\/div><\/li>
  14. \t }<\/span><\/div><\/li>
  15. \t else<\/span>{<\/span><\/div><\/li>
  16. \t \tvar<\/span> fileArray =<\/span> {<\/span>}<\/span>;<\/span><\/div><\/li>
  17. \t \tfileArray[<\/span>'path'<\/span>]<\/span> =<\/span> child.getCanonicalPath<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li>
  18. \t \tfileArray[<\/span>'name'<\/span>]<\/span> =<\/span> child.getName<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li>
  19. \t \tfileArray[<\/span>'parent'<\/span>]<\/span> =<\/span> child.getParent<\/span>(<\/span>)<\/span>;<\/span><\/div><\/li>
  20. \t \tfileArray[<\/span>'hidden'<\/span>]<\/span> =<\/span> child.isHidden<\/span>(<\/span>)<\/span> ;<\/span><\/div><\/li>
  21. \t \tfileArray[<\/span>'dir'<\/span>]<\/span> =<\/span> child.isDirectory<\/span>(<\/span>)<\/span> ;<\/span><\/div><\/li>
  22. \t \tvar<\/span> pos =<\/span> fileArray[<\/span>'name'<\/span>]<\/span>.lastIndexOf<\/span>(<\/span>'.'<\/span>)<\/span>;<\/span><\/div><\/li>
  23. \t \tif<\/span> (<\/span>pos <<\/span> 0<\/span>)<\/span>{<\/span><\/div><\/li>
  24. \t\t\t\tfileArray[<\/span>'ext'<\/span>]<\/span> =<\/span> ''<\/span>;<\/span><\/div><\/li>
  25. \t\t\t}<\/span>else<\/span>{<\/span><\/div><\/li>
  26. \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>
  27. \t\t\t}<\/span>\t<\/div><\/li>
  28.  <\/div><\/li>
  29. \t \tresults.push<\/span>(<\/span>fileArray)<\/span>;<\/span><\/div><\/li>
  30. \t }<\/span><\/div><\/li>
  31.  <\/div><\/li>
  32. \t}<\/span><\/div><\/li>
  33. \treturn<\/span> results;<\/span><\/div><\/li>
  34. }<\/span><\/div><\/li><\/ol><\/pre>","link":"https:\/\/snipplr.com\/view\/63696\/directorylist-in-rhino"});