지정된 와일드카드 패턴을 사용하여 파일 찾기
파일 및 디렉터리 관리 작업을 할 때 다음과 같은 파일을 검색해야 하는 시나리오에 직면하는 것이 일반적입니다. 특정 와일드카드 패턴을 준수합니다. Java에는 이 작업을 수행하기 위한 여러 접근 방식이 있습니다.
한 가지 인기 있는 방법은 Apache Commons IO의 WildcardFileFilter 클래스를 활용하는 것입니다. 이 필터를 사용하면 와일드카드 패턴을 지정할 수 있습니다. 사용법을 설명하려면 다음 코드 예제를 고려하십시오.
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.txt"); File[] files = dir.listFiles(fileFilter); for (File file : files) { System.out.println(file.getName()); }
이 예제에서 dir 변수는 파일을 검색하려는 디렉터리를 나타냅니다. fileFilter 개체는 와일드카드 패턴 "sample*.txt"로 구성됩니다. 결과적으로 이 코드는 이름이 "sample"로 시작하고 .txt로 끝나는 dir 디렉터리 내의 모든 파일을 나열합니다.
와일드카드 패턴에 디렉터리 이름(예: ".txt")이 포함될 수 있는 시나리오를 처리합니다. ./Test?/sample*.txt"), WildcardFileFilter를 루프와 결합하여 하위 디렉터리를 반복하고 각 수준에서 필터를 적용할 수 있습니다. 다음 코드는 이를 달성하는 방법을 보여줍니다.
File dir = new File("."); FileFilter fileFilter = new WildcardFileFilter("sample*.txt"); File[] dirs = dir.listFiles(new WildcardFileFilter("Test*.java")); for (File subdir : dirs) { if (subdir.isDirectory()) { File[] subdirFiles = subdir.listFiles(fileFilter); // Do something with subdirFiles } }
이 예에서 코드는 "Test*.java" 패턴과 일치하는 dir 디렉터리 내의 모든 하위 디렉터리를 반복합니다. 각 하위 디렉터리에 대해 listFiles 메서드를 fileFilter와 함께 다시 사용하여 "sample*.txt" 패턴과 일치하는 파일을 검색합니다.
이 접근 방식을 채택하면 파일 이름과 디렉터리를 모두 포함하는 복잡한 와일드카드 패턴을 처리할 수 있습니다. 이름. 이는 Java의 특정 와일드카드 기준을 충족하는 파일을 검색하기 위한 포괄적인 솔루션을 제공합니다.
위 내용은 Java에서 특정 와일드카드 패턴과 일치하는 파일을 어떻게 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!