Super Coding Addict
Ch14. 자바 입출력(7) 본문
< 그 외 입출력 클래스와 데코레이터 패턴 >
* 그 외 입출력 클래스
- 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 |