반응형
Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

지식조각모음

15. 입출력 본문

책/자바의 정석

15. 입출력

y00 2022. 4. 9. 21:50
반응형

입출력(I/O)과 스트림(stream)

  • 입출력: 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것
  • 스트림: 두 대상을 연결하고 데이터를 전송할 수 있는 무언가. 데이터를 운반하는데 사용되는 연결통로
    • 단반향 통신만 가능하므로 입출력을 동시에 수행하려면 입력스트림과 출력스트림 2개가 필요하다.

스트림 종류

바이트 기반 스트림

스트림은 바이트단위로 데이터를 전송(입출력 단위가 1byte). 입출력 대상에 따라 입출력스트림이 나뉜다.

  • InputStream
  • OutputStream

위 두가지 클래스가 모든 바이트 기반 스트림의 조상이다

보조스트림

실제 데이터를 주고받는 스트림이 아니기 때문에 데이터를 입출력할 수 있는 기능은 없지만, 스트림의 기능을 향상시킬 수 있다. 스트림을 먼저 생성한 뒤 보조 스트림을 생성해야 한다.

// 기반 스트림 생성
FileInputStream fis = new FileInputStream("test.txt");

// 보조 스트림 생성
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read();

File관련

  • FileInputStream
  • FileOuputStream

Buffer

  • BufferedInputStream
  • BufferedOutputStream

 

 

문자 기반 스트림

Java에서 바이트기반의 입출력을 사용하는 경우 char형이 2byte이기 때문에 어려움이 있다. 이를 보완하기 위한 스트림

  • Reader: InputStream과 동일
  • Wirter: OutputStream과 동일

표준 입출력(Standard I/O)

File

직렬화(serialization)

반응형

' > 자바의 정석' 카테고리의 다른 글

16. 네트워킹  (0) 2022.04.14
14. 람다와 스트림  (2) 2022.04.09
13. 스레드  (2) 2022.03.30
12. 제네릭스, 열거형, 애너테이션  (0) 2022.03.13
Comparator와 Comparable  (1) 2022.03.10