IT 성장일기
[JAVA] 파일 경로를 이용해서 파일 목록 가져오기 본문
반응형
파일 경로를 이용해서 파일 목록 가져오기
백 작업을 하다 보면 파일목록을 가져와야 할 때가 있습니다.
아래 코드는 디렉터리 경로가 주어졌을 때 파일 목록을 가져오는 코드입니다.
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)
}
}
}
감사합니다.🙂
반응형
'Java > Java' 카테고리의 다른 글
[JAVA] DTO나 VO의 모든 리터럴을 스트링 형식으로 가져오기 (2) | 2023.11.02 |
---|