Java
[days25] RandomAccessFile
다연
2020. 10. 25. 17:03
반응형
RandomAccessFile
ㄱ. 장점 : 파일의 어느 위치에나 읽기/쓰기가 가능하다.
ㄴ. 기본형을 읽고 쓰기 가능
ㄷ. 하나의 클래스로 파일에 대한 입력/출력 모두 가능하다
package test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class Re11 {
public static void main(String[] args) throws IOException {
String s = "I Love normal Java";
String q = "javabook";
String name = ".\\src\\days25\\random.txt";
File file = new File(name);
String mode = "rw"; //must be one of "r", "rw", "rws", or "rwd"
try {
RandomAccessFile raf = new RandomAccessFile(file, mode);
raf.writeBytes(s);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//파일에 I Love normal Java 파일 생성
System.out.println("> 엔터치면 진행합니다.");
System.in.read(); //잠시멈춤/ 엔터치면 읽어갈거고
System.in.skip(System.in.available());
try {
RandomAccessFile raf = new RandomAccessFile(file, mode);
raf.seek(7); //마우스 커서 위치 옮기기
raf.writeBytes(q);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//파일에 I Love javabookava
System.out.println("> 엔터치면 진행합니다.");
System.in.read();
System.in.skip(System.in.available());
try {
RandomAccessFile raf = new RandomAccessFile(file, mode);
raf.seek(2); //마우스 커서 위치 옮기기
String value = raf.readLine();
System.out.println(value);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//콘솔에 Love javabookava (2부터 읽힘)
}
}
raf.seek(i); i위치로 커서 옮기기
raf.writeBytes(s); String s를 raf에 쓰기
raf.readLine(); 읽기(String 반환)
반응형