■ 입출력 클래스
- File 클래스
파일 개념을 추상화한 클래스
입출력 기능은 없고 파일의 속성,경로, 이름 등을 알 수 있음
■ RandomAccessFile 클래스
- 입출력 클래스 중 유일하게 파일 입출력을 동시에 할 수 있는 클래스
- 파일 포인터가 있어서 읽고 쓰는 위치의 이동이 가능함(Seek메소드)
- 다양한 자료형에 대한 메서드가 제공됨
예제코드
package 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();
}
}
■ 데코레이터 패턴( Decorator Pattern)
- 자바의 입출력 스트림은 데코레이터 패턴을 사용
- 실제 입출력 기능을 가진 객체(컴포넌트)와 그 외 다양한 기능을 제공하는 데코레이터(보조스트림)을
사용하여 다양한 입출력 기능을 구현
- 상속보다 유연한 확장성을 가짐
- 지속적인 서비스의 증가와 제거가 용이함
예제 그림
반응형
'JAVA' 카테고리의 다른 글
Thread status ( 쓰레드 상태 ) -활용 (0) | 2019.10.27 |
---|---|
Thread class (0) | 2019.10.26 |
직렬화(Serialization) (0) | 2019.10.24 |
보조 스트림 (0) | 2019.10.23 |
Socket통신 HTTP 통신 (0) | 2019.10.22 |