Java에서 BufferReader를 사용하여 파일을 처음부터 끝까지 읽기
문제:
읽어야 합니다. BufferedReader를 사용하여 파일을 끝에서 처음으로 역순으로 읽습니다.
해결책:
표준 BufferedReader 클래스는 파일을 역순으로 읽는 것을 지원하지 않습니다. 그러나 이를 달성하기 위해 RandomAccessFile 클래스를 활용할 수 있습니다. 이를 수행하는 방법에 대한 예는 다음과 같습니다.
<code class="java">import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.RandomAccessFile; public class ReverseFileReader { public static void main(String[] args) { // Create a RandomAccessFile to access the file RandomAccessFile file = null; BufferedReader reader = null; try { file = new RandomAccessFile("filepath.txt", "r"); // Get the file size long fileSize = file.length(); // Start reading from the end of the file file.seek(fileSize - 1); // Initialize a BufferedReader to read from the RandomAccessFile reader = new BufferedReader(new FileReader(file.getFD())); // Read the file line by line in reverse order while ((file.getFilePointer()) > 0) { // Get the current line String line = reader.readLine(); // Adjust the file pointer to the beginning of the previous line file.seek(file.getFilePointer() - line.length() - 1); // Print the line System.out.println(line); } } catch (FileNotFoundException e) { System.out.println("File not found."); } catch (IOException e) { System.out.println("Error reading file."); } finally { // Close the file and the reader try { if (file != null) file.close(); if (reader != null) reader.close(); } catch (IOException e) {} } } }</code>
이 예에서는 RandomAccessFile을 사용하여 파일 끝에서 시작하고 각각에 대해 파일 포인터를 뒤로 조정하여 끝부터 파일을 읽습니다. 줄을 읽었습니다. 각 줄을 읽을 때 파일의 시작 부분에 도달할 때까지 파일에서 시작 위치가 조정되므로 파일을 역순으로 읽을 수 있습니다.
위 내용은 Java에서 BufferedReader를 사용하여 끝부터 시작까지 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!