private void findMatchingFiles(File[] files, Pattern pattern, boolean recursive) { for (File file : files) { String fileString = getSlashyPath(file.getPath()); Matcher m = pattern.matcher(fileString); if (m.matches() && file.isFile()) { addFile(file); } if (file.isDirectory() && recursive) { final File[] dirFiles = file.listFiles(); if (dirFiles != null) { findMatchingFiles(dirFiles, pattern, true); } } } }
private void loadFilteredPath(String filter) { if (filter == null) return; filter = getSlashyPath(filter); int starIndex = filter.indexOf(WILDCARD); if (starIndex == -1) { addFile(new File(filter)); return; } boolean recursive = filter.contains(ALL_WILDCARD); if (filter.lastIndexOf('/') < starIndex) { starIndex = filter.lastIndexOf('/') + 1; } String startDir = filter.substring(0, starIndex - 1); File root = new File(startDir); filter = Pattern.quote(filter); filter = filter.replaceAll("\\" + WILDCARD + "\\" + WILDCARD, MATCH_ALL); filter = filter.replaceAll("\\" + WILDCARD, MATCH_FILE_NAME); Pattern pattern = Pattern.compile(filter); final File[] files = root.listFiles(); if (files != null) { findMatchingFiles(files, pattern, recursive); } }
private void findMatchingFiles(File[] files, Pattern pattern, boolean recursive) { for (int i = 0; i < files.length; i++) { File file = files[i]; String fileString = getSlashyPath(file.getPath()); Matcher m = pattern.matcher(fileString); if (m.matches() && file.isFile()) { addFile(file); } if (file.isDirectory() && recursive) { final File[] dirFiles = file.listFiles(); if (dirFiles != null) { findMatchingFiles(dirFiles, pattern, true); } } } }
private void findMatchingFiles(File[] files, Pattern pattern, boolean recursive) { for (int i = 0; i < files.length; i++) { File file = files[i]; String fileString = getSlashyPath(file.getPath()); Matcher m = pattern.matcher(fileString); if (m.matches() && file.isFile()) { addFile(file); } if (file.isDirectory() && recursive) { final File[] dirFiles = file.listFiles(); if (dirFiles != null) { findMatchingFiles(dirFiles, pattern, true); } } } }
private void findMatchingFiles(File[] files, Pattern pattern, boolean recursive) { for (int i = 0; i < files.length; i++) { File file = files[i]; String fileString = getSlashyPath(file.getPath()); Matcher m = pattern.matcher(fileString); if (m.matches() && file.isFile()) { addFile(file); } if (file.isDirectory() && recursive) { final File[] dirFiles = file.listFiles(); if (dirFiles != null) { findMatchingFiles(dirFiles, pattern, true); } } } }
private void findMatchingFiles(File[] files, Pattern pattern, boolean recursive) { for (int i = 0; i < files.length; i++) { File file = files[i]; String fileString = getSlashyPath(file.getPath()); Matcher m = pattern.matcher(fileString); if (m.matches() && file.isFile()) { addFile(file); } if (file.isDirectory() && recursive) { final File[] dirFiles = file.listFiles(); if (dirFiles != null) { findMatchingFiles(dirFiles, pattern, true); } } } }
private void loadFilteredPath(String filter) { if (filter == null) return; filter = getSlashyPath(filter); int starIndex = filter.indexOf(WILDCARD); if (starIndex == -1) { addFile(new File(filter)); return; } boolean recursive = filter.indexOf(ALL_WILDCARD) != -1; if (filter.lastIndexOf('/')<starIndex) { starIndex=filter.lastIndexOf('/')+1; } String startDir = filter.substring(0, starIndex - 1); File root = new File(startDir); filter = Pattern.quote(filter); filter = filter.replaceAll("\\" + WILDCARD + "\\" + WILDCARD, MATCH_ALL); filter = filter.replaceAll("\\" + WILDCARD, MATCH_FILE_NAME); Pattern pattern = Pattern.compile(filter); final File[] files = root.listFiles(); if (files != null) { findMatchingFiles(files, pattern, recursive); } }
private void loadFilteredPath(String filter) { if (filter == null) return; filter = getSlashyPath(filter); int starIndex = filter.indexOf(WILDCARD); if (starIndex == -1) { addFile(new File(filter)); return; } boolean recursive = filter.indexOf(ALL_WILDCARD) != -1; if (filter.lastIndexOf('/')<starIndex) { starIndex=filter.lastIndexOf('/')+1; } String startDir = filter.substring(0, starIndex - 1); File root = new File(startDir); filter = Pattern.quote(filter); filter = filter.replaceAll("\\" + WILDCARD + "\\" + WILDCARD, MATCH_ALL); filter = filter.replaceAll("\\" + WILDCARD, MATCH_FILE_NAME); Pattern pattern = Pattern.compile(filter); final File[] files = root.listFiles(); if (files != null) { findMatchingFiles(files, pattern, recursive); } }
private void loadFilteredPath(String filter) { if (filter == null) return; filter = getSlashyPath(filter); int starIndex = filter.indexOf(WILDCARD); if (starIndex == -1) { addFile(new File(filter)); return; } boolean recursive = filter.indexOf(ALL_WILDCARD) != -1; if (filter.lastIndexOf('/')<starIndex) { starIndex=filter.lastIndexOf('/')+1; } String startDir = filter.substring(0, starIndex - 1); File root = new File(startDir); filter = Pattern.quote(filter); filter = filter.replaceAll("\\" + WILDCARD + "\\" + WILDCARD, MATCH_ALL); filter = filter.replaceAll("\\" + WILDCARD, MATCH_FILE_NAME); Pattern pattern = Pattern.compile(filter); final File[] files = root.listFiles(); if (files != null) { findMatchingFiles(files, pattern, recursive); } }
private void loadFilteredPath(String filter) { if (filter == null) return; filter = getSlashyPath(filter); int starIndex = filter.indexOf(WILDCARD); if (starIndex == -1) { addFile(new File(filter)); return; } boolean recursive = filter.indexOf(ALL_WILDCARD) != -1; if (filter.lastIndexOf('/')<starIndex) { starIndex=filter.lastIndexOf('/')+1; } String startDir = filter.substring(0, starIndex - 1); File root = new File(startDir); filter = RegexUtils.quote(filter); filter = filter.replaceAll("\\" + WILDCARD + "\\" + WILDCARD, MATCH_ALL); filter = filter.replaceAll("\\" + WILDCARD, MATCH_FILE_NAME); Pattern pattern = Pattern.compile(filter); final File[] files = root.listFiles(); if (files != null) { findMatchingFiles(files, pattern, recursive); } }