Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Super Coding Addict

Ch14. 자바 입출력(7) 본문

JAVA 문법

Ch14. 자바 입출력(7)

밍응애 2021. 2. 21. 19:50

< 그 외 입출력 클래스와 데코레이터 패턴 >

* 그 외 입출력 클래스

- File 클래스

: 파일 개념을 추상화한 클래스

: 입출력 기능은 없고, 파일의 속성, 경로, 이름 등을 알 수 있음

- RandomAccessFile 클래스

: 입출력 클래스 중 유일하게 파일 입출력을 동시에 할 수 있는 클래스

: 파일포인터의 위치에 따라 읽고 쓰는 위치의 이동 가능 (seek 메서드)

 

- 예제

# RandomAccessFileTest 클래스

package Ch14.stream.others;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class RandomAccessFileTest {

	public static void main(String[] args) throws IOException {
		RandomAccessFile rf = new RandomAccessFile("random.txt", "rw");
		rf.writeInt(100);
		System.out.println(rf.getFilePointer());
		rf.writeDouble(3.14);
		rf.writeUTF("안녕하세요");
		
		rf.seek(0);	//파일포인터 이동
		int i = rf.readInt();
		double d = rf.readDouble();
		String str = rf.readUTF();
		
		System.out.println(i);
		System.out.println(d);
		System.out.println(str);
		rf.close();
	}

}

--> writeUTF후에는 파일포인터가 쓰기를 끝마친 위치에 있으므로 처음부터 읽기 위해서 seek(0)를 해준다

 

* 데코레이터 패턴 (Decorator Pattern)

- 실제 입출력 기능을 가진 객체(컴포넌트)와 그 외 다양한 기능을 제공하는 데코레이터(보조스트림)을 사용하여 다양한 입출력 기능을 구현

 

'JAVA 문법' 카테고리의 다른 글

Ch11. 컬렉션 프레임워크 (1)  (0) 2021.02.21
Ch14. 자바 입출력(8) - 직접 코딩해보기  (0) 2021.02.21
Ch14. 자바 입출력(6)  (0) 2021.02.20
Ch14. 자바 입출력 (5)  (0) 2021.02.18
Ch14. 자바 입출력 (4)  (0) 2021.02.18