| 6824 | |
| 6825 | |
| 6826 | static void listFilesImpl(File folder, boolean recursive, |
| 6827 | String[] extensions, boolean hidden, |
| 6828 | boolean directories, boolean files, |
| 6829 | List<File> list) { |
| 6830 | File[] items = folder.listFiles(); |
| 6831 | if (items != null) { |
| 6832 | for (File item : items) { |
| 6833 | String name = item.getName(); |
| 6834 | if (!hidden && name.charAt(0) == '.') { |
| 6835 | continue; |
| 6836 | } |
| 6837 | if (item.isDirectory()) { |
| 6838 | if (recursive) { |
| 6839 | listFilesImpl(item, recursive, extensions, hidden, directories, files, list); |
| 6840 | } |
| 6841 | if (directories) { |
| 6842 | list.add(item); |
| 6843 | } |
| 6844 | } else if (files) { |
| 6845 | if (extensions == null) { |
| 6846 | list.add(item); |
| 6847 | } else { |
| 6848 | for (String ext : extensions) { |
| 6849 | if (item.getName().toLowerCase().endsWith(ext)) { |
| 6850 | list.add(item); |
| 6851 | } |
| 6852 | } |
| 6853 | } |
| 6854 | } |
| 6855 | } |
| 6856 | } |
| 6857 | } |
| 6858 | |
| 6859 | |
| 6860 | |