일반적으로 파일을 읽거나 쓸 때는 파일의 시작 부분부터만 데이터를 읽거나 쓸 수 있습니다. 임의의 위치에서는 읽고 쓸 수 없습니다.
Java의 java.io.RandomAccessFile 클래스를 사용하면 임의 액세스 파일에 데이터를 읽고 쓸 수 있습니다.
이것은 인덱스나 커서(파일 포인터라고 함)가 있는 큰 바이트 배열과 유사합니다. getFilePointer() 메서드를 사용하여 이 포인터의 위치를 가져오고 검색() 메서드를 사용하여 위치를 설정할 수 있습니다.
이 클래스는 파일을 읽고 쓰는 다양한 방법을 제공합니다. 이 클래스의 readLine() 메서드는 파일에서 다음 줄을 읽고 이를 문자열로 반환합니다.
이 클래스의 readLine() 메서드를 사용하여 파일에서 데이터를 읽는 단계는 다음과 같습니다.
필요한 파일의 경로를 문자열 형식으로 전달하여 File 클래스를 인스턴스화합니다.
StringBuffer 클래스를 인스턴스화합니다.
위에서 생성한 File 개체와 액세스 모드(r: 읽기, rw: 읽기/쓰기 등)를 나타내는 문자열을 전달하여 RandomAccessFile 클래스를 인스턴스화합니다.
파일 위치가 길이보다 작으면 파일을 반복합니다(length() 메서드).
위에서 생성한 StringBuffer 개체에 각 줄을 추가합니다.
import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAccessFileExample { public static void main(String args[]) throws IOException { String filePath = "D://input.txt"; //Instantiating the File class File file = new File(filePath); //Instantiating the StringBuffer StringBuffer buffer = new StringBuffer(); //instantiating the RandomAccessFile RandomAccessFile raFile = new RandomAccessFile(file, "rw"); //Reading each line using the readLine() method while(raFile.getFilePointer() < raFile.length()) { buffer.append(raFile.readLine()+System.lineSeparator()); } String contents = buffer.toString(); System.out.println("Contents of the file: \n"+contents); } }
Contents of the file: Tutorials Point originated from the idea that there exists a class of readers who respond better to online content and prefer to learn new skills. Our content and resources are freely available and we prefer to keep it that way to encourage our readers acquire as many skills as they would like to. We don’t force our readers to sign up with us or submit their details either. Enjoy the free content
위 내용은 Java에서 RandomAccessFile을 사용하여 .txt 파일을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!