-
자바 - 입출력(I/O) 표준입출력과 File, 직렬화카테고리 없음 2023. 5. 14. 23:41
1. 표준입출력 (System.in out err)
표준입출력은 콘솔을 통한 데이터의 입력과 콘솔로의 데이터 출력을 의미한다.
자바에서는 표준 입출력을 위한 3가지의 입출력 스트림을 제공하는데, 자바 어플리케이션의 실행과 동시에 사용할 수 있게 자동적으로 생성된다.
2. 표준입출력 대상변경 - setOut(), setErr(), setIn()
콘솔화면 외에 다른 입출력 대상으로 변경하여 지정한다. 각각 지정된 PrintStream / InputStream으로 입출력 대상 변경한다. setOut() ,Err() 등을 호출 한 뒤 System.in, out등 표준 입출력을 사용하면 지정한 입출력 대상으로 입력 출력됨
3. RandomAccessFile
RandomAccessFile은 하나의 클래스로 파일에 대한 입력과 출력을 모두 할 수 있도록 되어 있다.
DataInput인터페이스와 DataOutput인터페이스를 모두 구현했다.
따라서 RandomAccessFile 클래스도 기본자료형 단위로 데이터를 읽고 쓸 수 있다.
또한 파일의 위치를 변경해가면서 읽기와 쓰기가 가능하다는 장점이 있다. (기존의 FIFO와 다름)
생성자
RandomAccessFIle(File file , String mode) : mode "r","rw","rws","rwd" 각각 읽기만, 읽고 쓰기 rws와 rwd는 출력내용이 파일에 지연 없이 바로 쓰이게 하는데, rwd는 파일 내용만 rws는 메타정보를 포함한다.
메서드
FileChannel getChannel() 파일의 파일 채널 변경
long GetFilePointer() 파일 포인터의 위치알려줌
long length() 파일 크기 알려줌
void seek(long pos) 파일 포인터 위치 변경 (단위 byte)
void setLength(long newLength) 파일의 크기를 지정된 길이로 변경
int skipBytes(int n) 지정된 byte를 건너뛴다.