IT 성장일기

[JAVA] 파일 경로를 이용해서 파일 목록 가져오기 본문

Java/Java

[JAVA] 파일 경로를 이용해서 파일 목록 가져오기

고 양 2023. 11. 2. 13:01
반응형
파일 경로를 이용해서 파일 목록 가져오기

 

백 작업을 하다 보면 파일목록을 가져와야 할 때가 있습니다.

아래 코드는 디렉터리 경로가 주어졌을 때 파일 목록을 가져오는 코드입니다.

 

1. File 클래스를의 list 메서드를 호출하여 파일명으로 이루어진 String 배열을 생성할 수 있습니다.

2. list 메서드의 매개변수로 Filter를 추가하면 특정 조건에 부합하는 파일명만 가져올 수 있습니다.

3. indexOf 메서드와 subString 메서드를 이용해 가져온 파일의 확장자를 추출해 낼 수 있습니다.

public Class getFileList{
	public static void main(String args[]){
		String fileDirectory = "C:\\Sample";
		File file = new File(fileDirectory);

		//1.파일 목록을 가져옵니다.
		String[] sampleFileList = file.list();

		//2.내장메서드로 filter를 생성합니다.
		FilenameFilter filter = new FilenameFilter() {
			public boolean accept(File f, String name) {
				//파일명에 언더바("_") 기호가 존재하는 파일을 걸러내봅시다.
				return name.contains("_")? false : true;
			}
		};
		//필터링을 적용한 파일 목록이 배열로 생성됩니다.
		String[] filteredSampleFileList = file.list(filter);
        
		//3. 가져온 파일 목록의 확장자를 분리해보겠습니다.
		ArrayList<String> extensions = new ArrayList<String>();
		for (String files : sampleFileList) {
			//indexOf메서드로 확장자 바로 앞에 붙는 "."의 위치를 찾아낸 후
			//subString메서드로 잘라냅니다.
			extensions.add(files.substring(files.indexOf('.')+1));
		}

		for(String file : sampleFileList){
			//파일명이 반환됩니다.
			System.out.println(file);
		}
		for(String file : filteredSampleFileList){
			//필터링한 파일이 반환됩니다.
			System.out.println(file);
		}
		for(String extension : extensions){
			//잘라낸 확장자가 반환됩니다.        
			System.out.println(extension)
		}
	}
}

 

감사합니다.🙂

반응형