Java에서 폴더의 모든 파일을 읽는 방법
Mohammad Irfan
2023년10월12일
- Java에서 폴더의 모든 파일을 읽는 방법
-
Java에서
Files
클래스를 사용하여 폴더의 모든 파일 읽기 -
Java에서
newDirectoryStream()
메서드를 사용하여 폴더의 모든 파일 읽기 -
Java에서
walkFileTree()
메소드를 사용하여 폴더의 모든 파일 읽기
이 튜토리얼에서는 Java에서 폴더의 모든 파일을 읽는 방법을 소개하고이를 이해하기위한 몇 가지 예제 코드를 나열합니다.
폴더의 모든 파일을 가져 오는 방법에는 여러 가지가 있습니다. 여기서 우리는File
,Files
,DirectoryStream
클래스 등을 사용할 수 있습니다. 예를 봅시다.
Java에서 폴더의 모든 파일을 읽는 방법
여기서는File
클래스를 사용하여 소스 디렉토리에있는 모든 파일과 폴더를 수집 한 다음 isDirectory()
메서드를 사용하여 파일인지 폴더인지 확인합니다. 아래 예를 참조하십시오.
import java.io.File;
import java.text.ParseException;
public class SimpleTesting {
public static void findAllFilesInFolder(File folder) {
for (File file : folder.listFiles()) {
if (!file.isDirectory()) {
System.out.println(file.getName());
} else {
findAllFilesInFolder(file);
}
}
}
public static void main(String[] args) throws ParseException {
File folder = new File("/home/folder/src");
findAllFilesInFolder(folder);
}
}
Java에서Files
클래스를 사용하여 폴더의 모든 파일 읽기
스트림을 사용하려면Path
스트림을 반환하는Files
클래스의walk()
메서드를 사용하세요. 그런 다음filter()
메서드를 사용하여 파일 만 수집하고forEach()
를 사용하여 인쇄합니다.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class SimpleTesting {
public static void main(String[] args) throws IOException {
try (Stream<Path> paths = Files.walk(Paths.get("/home/folder/src"))) {
paths.filter(Files::isRegularFile).forEach(System.out::println);
}
}
}
Java에서newDirectoryStream()
메서드를 사용하여 폴더의 모든 파일 읽기
여기서는Files
클래스와Path
스트림을 반환하는newDirectoryStream()
메서드를 사용합니다. 그런 다음for-each
루프를 사용하여 파일 목록을 반복하고 파일 이름을 인쇄합니다.
import java.io.IOException;
import java.nio.file.DirectoryIteratorException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class SimpleTesting {
public static void main(String[] args) throws IOException {
try (DirectoryStream<Path> stream = Files.newDirectoryStream(Paths.get("/home/folder/src/"))) {
for (Path file : stream) {
System.out.println(file.getFileName());
}
} catch (IOException | DirectoryIteratorException ex) {
System.err.println(ex);
}
}
}
Java에서walkFileTree()
메소드를 사용하여 폴더의 모든 파일 읽기
여기서는 소스 폴더와 SimpleFileVisitor
참조라는 두 개의 인수를받는Files
클래스의walkFileTree()
메서드를 사용합니다. 아래 예를 참조하십시오.
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
public class SimpleTesting {
public static void main(String[] args) throws IOException {
SimpleFileVisitor<Path> file = new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path filePath, BasicFileAttributes attrs)
throws IOException {
System.out.println(filePath);
return FileVisitResult.CONTINUE;
}
};
Files.walkFileTree(Paths.get("/home/folder/src"), file);
}
}
관련 문장 - Java File
- Java에서 파일에서 줄 바꿈을 제거하는 방법
- Java에서 파일 닫기
- Java JAR 파일 생성 및 실행
- Java를 사용하여 디렉토리에서 파일 삭제
- Java에서 두 파일의 내용 비교
- Java에서 파일 크기 얻기