Java에서 와일드카드 문자열을 사용하여 파일 찾기
특정 와일드카드 패턴과 일치하는 파일을 찾는 것은 Java에서 일반적인 작업입니다. 이러한 요구를 해결하기 위해 Apache commons-io는 FileUtils 클래스에 listFiles 및 iterateFiles와 같은 메소드를 제공합니다.
다음과 같은 와일드카드 패턴이 있다고 가정해 보겠습니다.
../Test?/sample*.txt
FileUtils를 사용하여 일치하는 파일을 나열하려면 :
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.java"); File[] files = dir.listFiles(fileFilter); for (File file : files) { System.out.println(file); }
이 코드는 지정된 파일과 일치하는 현재 디렉터리의 파일을 반복합니다. 와일드카드. 그러나 중첩된 디렉터리(예: TestX 폴더)를 처리하려면 디렉터리를 먼저 반복할 수 있습니다.
File[] dirs = new File(".").listFiles(new WildcardFileFilter("Test*.java")); for (File dir : dirs) { if (dir.isDirectory()) { File[] files = dir.listFiles(new WildcardFileFilter("sample*.java")); } }
이 솔루션은 효과적이지만 원하는만큼 효율적이지 않을 수 있습니다. 보다 유연하고 복잡한 일치 기준을 위해 RegexFileFilter 사용을 고려해보세요.
위 내용은 Java에서 와일드카드 패턴을 사용하여 파일을 효율적으로 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!