다연이네

[days25] RandomAccessFile 본문

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 반환)

 

반응형
Comments