Java의 File Class는 다음 API 제공
- listFiles() : 폴더 경로에 있는 파일들을 배열형식으로 반환
- listFiles(Filenamefilter filter) : 폴더 경로에 있는 파일들을 필터링하고 그 결과를 배열형식으로 반환
- listfiles(FileFilter filter) : 폴더 경로에 있는 파일들을 필터링하고 그 결과를 배열형식으로 반환
- list() : 폴더 경로에 있는 파일들의 이름들을 배열형식으로 반환
- listFilenameFilter filter) : 폴더 경로에 있는 파일들의 이름들을 필터링하고 그 결과를 배열형식으로 반환
- "/home/oSsonGo" 하위의 파일들을 출력
File dir = new File("/home/oSsonGo");
File files[] = dir.lestFiles();
for(int i = 0; i < files.length; i++) {
System.out.println("File[" + files[i] + "]");
}
- "/home/oSsonGo" 하위의 모든 파일들을 출력(재귀함수를 사용)
showAllFiles("/home/oSsonGo");
public static void showAllFiles(String dirPath) {
File dir = new File(dirPath);
File files[] = dir.listFiles();
for(int i = 0; i < files.length; i++) {
File file = files[i];
if(file.isDirectory()) { // 폴더인 경우
showAllFiles(file.getPath());
} else { // 파일인 경우
System.out.println("File[" + file + "]");
}
}
}
- 특정 조건으로 파일을 필터링한 결과 출력
- 파일명이 "test_"로 시작하는 파일 조회
File dir = new File("/home/oSsonGo");
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File f, String nm) {
retrun nm.startsWith("test_");
}
};
File files[] = dir.listFiles(filter);
for(int i = 0; i < files.length; i++) {
System.out.println("File[" + files[i] + "]");
}
- 파일 이름만 출력
File dir = new File("/home/oSsonGo");
String[] fileNm = dir.lest();
for(int i = 0; i < fileNm.length; i++) {
System.out.println("File[" + fileNm[i] + "]");
}
- 파일 이름만 출력(Filtering)
File dir = new File("/home/oSsonGo");
String[] fileNm = dir.list((f, nm) -> nm.startsWith("test_"));
for(int i = 0; i < fileNm.length; i++) {
System.out.println("File[" + fileNm[i] + "]");
}
'Web > JAVA' 카테고리의 다른 글
[Java] 배열 내용을 Log 출력 (0) | 2022.03.16 |
---|---|
[Java] 특정 폴더에 특정 파일 삭제 (0) | 2022.03.16 |
[Java] BigDecimal 올림, 반올림, 버림 처리 (0) | 2022.03.13 |
[Java] 넘버링 (300) | 2022.03.12 |