728x90
반응형
SMALL
스트림
스트림은 "흐르는 좁은 시냇물"을 뜻하며 프로그램에서는 데이터의 흐름을 나타낸다. 입출력 장치에서 데이터를 읽고 쓰기 위해 자바에서 제공하는 클래스이다. 입출력이 구현되는 곳은 파일 디스크, 키보드, 마우스, 메모리 네트워크 등이 있다.
스트림의 특징
- 모든 스트림은 단방향이다.
- 각각의 장치마다 연결할 수 있는 스트림이 존재한다.
- 하나의 스트림으로 입출력을 동시에 수행할 수 없다. (동시에 수행하려면 2개의 스트림이 필요!)
입력 스트림과 출력 스트림
입력 스트림
대상으로 부터 자료를 읽어 들이는 스트림
출력 스트림
대상으로 자료를 출력하는 스트림
스트림의 종류
- 입력 : FileInputStream, FileReader, BufferedInputStream, BufferedReader 등
- 출력 : FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter 등
기반 스트림과 보조 스트림
기반 스트림
대상에 직접 자료를 읽고 쓰는 기능의 스트림
보조 스트림
직접 읽고 쓰는 기능 없이 추가적인 기능을 더해주는 스트림.
직접 읽고 쓰는 기능은 없으므로 항상 기반 스트림이나 또 다른 보조 스트림을 생성자 매개변수로 포함 함.
스트림의 종류
- 기반 : FileInputStream, FileOutputStream, FileReader, FileWriter 등
- 보조 : InputStreamReader, OutputStreamWriter, BufferedInputStream, BufferedOutputStream 등
표준 입출력
System 클래스의 표준 입출력 멤버
public class System {
public static PrintStream out;
public static InputStream in;
public static PrintStream err;
}
System.in, System.out을 사용할 때 사용했던 in과 out 임.
- System.out
- 표준 출력(모니터) 스트림
- System.out.println(”message”);
- System.in
- 표준 입력(키보드) 스트림
- int d = System.in.read(); // 한 바이트 읽어내기
- System.err
- 표준 에러출력(모니터) 스트림
- System.err.println(”err message”)
public static void main(String[] args) {
System.out.println("알파벳 하나를 쓰고 Enter 키를 누르세요");
int d = 0;
try {
while((d = System.in.read()) != '\\n') {
System.out.print((char)d);
}
;
} catch (IOException e) {
e.printStackTrace();
}
}
728x90
반응형
LIST
'Java' 카테고리의 다른 글
[JAVA] 자바 OutputStream(바이트 단위 스트림) (0) | 2025.02.17 |
---|---|
[JAVA] 자바 InputStream(바이트 단위 스트림) (0) | 2025.02.17 |
[JAVA] 자바 - 추상 클래스란? (0) | 2025.02.14 |
[JAVA] 객체지향 프로그래밍의 4가지 특징 (OOP의 4가지 특징) (0) | 2025.02.14 |
[JAVA] 자바 - 객체 간의 상속의 의미 (0) | 2025.02.11 |