자바IO
- Input과 Output의 약자이다
- 내부 또는 외부장치와 프로그램 간의 데이터를 전송가능케 하는 지점
Stream
- 입력이나 출력이 표현된 데이터의 흐름
- 운영체제에 의해 생성된 가상의 연결 고리이자 중간 매개자
- 한 방향으로만 통신할 수 있으므로 입력과 출력을 동시 처리 불가
- 입력 스트림(InputStream)과 출력 스트림(OutputStream)으로 나뉨
- 인스턴스를 생성해서 사용해야함
InputStream
method | explanation |
abstract int read() | 해당 입력 스트림으로부터 다음 바이트를 읽어들임 |
int read(byte[] b) | 해당 입력 스트림으로부터 특정 바이트를 읽어들인 후, 배열 b에 저장함 |
int read(byte[] b, int off, int len) | 해당 입력 스트림으로부터 len 바이트를 읽어들인 후, 배열 b[off]부터 저장함 |
OutputStream
method | explanation |
abstract void write(int b) | 해당 출력 스트림에 특정 바이트를 저장함 |
void write(byte[] b) | 배열 b의 특정 바이트를 배열 b의 길이만큼 해당 출력 스트림에 저장함 |
void write(byte[]b, int off, int len) | 배열 b[off]부터 len 바이트를 해당 출력 스트림에 저장함 |
자바에서 스트림은 기본적으로 바이트 단위로 데이터를 전송한다
바이트 기반 스트림
입력 스트림 | 출력 스트림 | 입출력 대상 |
FileInputStream | FileOutputStream | 파일 |
ByteArrayInputStream | ByteArrayOutputStream | 메모리 |
PipedInputStream | PipedOutputStream | 프로세스 |
AudioInputStream | AudioOutputStream | 오디오 장치 |
보조 스트림
문자 기반 스트림
입력 스트림 | 출력 스트림 | 입출력 대상 |
FileReader | FileWriter | 파일 |
CharArrayReader | CharArrayWriter | 메모리 |
PipedReader | PipedWriter | 프로세스 |
StringReader | PipedWriter | 문자열 |
보조 스트림
Reader
- FileReader
- BufferedReader
- InputStreamReader
ex)
Reader reader = null;
reader = new FileReader(파일명);
reader.read() //파일을 읽음
Writer
- FileWriter
- BufferedWriter
- PrintWriter
- OutputStreamWriter
ex)
Writer writer = new FileWriter(파일이름); //파일을 읽는 writer 생성
writer.write(data); //파일을 작성한다
writer.close(); //writer 종료
사용자에게 값 받기
- System.in
ex)
InputStream is = System.in; //값 입력받는 객체 생성
is.read() //파일을 읽는 것
- Scanner
ex)
Scanner sc = new Scanner(System.in);
String nextword = sc.nextLine() // 다음문장을 받음
추가적인 구체적 사항은 더 공부하고 정리하도록 해야겠다
*위 게시물은 TCP.SCHOOL.COM의 java를 보며 복습한 내용을 작성한 글입니다*
'JAVA' 카테고리의 다른 글
JAVA(2022.05.27) - Byte 단위 입출력 심화 (0) | 2022.05.27 |
---|---|
JAVA(2022.05.26) - Byte단위 입출력 (0) | 2022.05.26 |
JAVA(2022.05.24)-java.time패키지 (0) | 2022.05.24 |
JAVA(2022.05.23)-Date,Calendar (0) | 2022.05.23 |
JAVA(2022.05.22)-Generic (0) | 2022.05.22 |