>Java >java지도 시간 >Java에서 파일의 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?

Java에서 파일의 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-16 14:31:12813검색

How Can I Efficiently Read a Specific Line from a File in Java?

Java에서 파일의 특정 줄 읽기

Java에서는 다양한 방법을 사용하여 파일의 특정 줄을 읽을 수 있습니다. 이 기사에서는 줄 번호를 기준으로 특정 줄에 액세스하는 두 가지 접근 방식을 살펴봅니다.

소형 파일

작은 텍스트 파일의 경우 간단한 솔루션은 모든 줄을 목록으로 읽는 것입니다. 그런 다음 해당 인덱스를 사용하여 원하는 라인을 검색합니다. Files.readAllLines(Path) 메서드를 사용하면 다음과 같이 모든 줄을 읽을 수 있습니다.

String line32 = Files.readAllLines(Paths.get("file.txt")).get(32);

그러나 이 접근 방식은 전체 파일을 메모리에 로드하므로 대용량 파일에는 효율적이지 않습니다.

대용량 파일

대용량 파일의 경우 전체 파일을 로드하지 않는 대체 방법은 다음을 사용하는 것입니다. Skip() 및 findFirst() 메소드. 여기서는 첫 번째 n-1 줄을 건너뛰고 n번째 줄을 검색합니다.

try (Stream<String> lines = Files.lines(Paths.get("file.txt"))) {
    line32 = lines.skip(31).findFirst().get();
}

이 접근 방식은 줄을 하나씩 스트리밍하여 메모리 사용량을 최소화하므로 대용량 파일에 더 효율적입니다.

위 내용은 Java에서 파일의 특정 줄을 효율적으로 읽으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.