[java] 유닉스/리눅스 시스템 호출을 사용하여 파일을 읽고 쓰는 동시에 수행하는 방법에 대해 알려주세요.
다음은 파일을 동시에 읽고 쓰는 Java 코드의 예시입니다:
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class FileReadWrite {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("example.txt", "rw");
FileChannel channel = file.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(48);
// 읽기 작업
int bytesRead = channel.read(buffer);
// 쓰기 작업
int bytesWritten = channel.write(buffer);
file.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
위 예시에서 FileChannel
을 사용하여 파일을 읽거나 쓰는 동작이 수행됩니다. ByteBuffer를 사용하여 읽기 및 쓰기 작업이 수행됩니다.
이를 통해 Java에서 유닉스/리눅스 시스템 호출을 사용하여 파일을 읽고 쓰는 동시에 수행하는 방법에 대해 간단하게 살펴보았습니다.
더 자세한 정보는 다음 참고 자료들을 확인하시기 바랍니다:
- Oracle Java Documentation: FileChannel