[자바] 입출력(Input / Output)

2021. 5. 28. 14:20·Archive/Java

 

1. 입출력(I/O)이란?

 

입력(Input)과 출력(Output)을 뜻한다. 컴퓨터에 입력하는 것은 Input이며, 컴퓨터가 어떤 것을 출력하는 것은 Output이다.

앞에서 살펴본 System.out.println("Hello, World!"); 구문이 바로 Output이다.

 

(1) Input : 파일 데이터를 읽는다. 키보드의 데이터를 읽는다. 네트워크상의 데이터를 읽는다(전송).

(2) Output : 파일에 데이터를 쓴다. 모니터에 데이터를 쓴다(출력). 네트워크상에 데이터를 쓴다(전송).

 

 

2. Java에서의 파일 입출력 API

 

(1) InputStream : 1byte 단위 입력 API. 이미지, 동영상 등의 데이터에 주로 사용.

(2) OutputStream : 1byte 단위 출력 API. 이미지, 동영상 등의 데이터에 주로 사용.

(3) Reader : 2byte 단위 입력 API. 문자열에 주로 사용.

(4) Writer : 2byte 단위 출력 API. 문자열에 주로 사용.

 

(5) DataInputStream / DataOutputStream

(6) BufferedReader / BufferedWriter

(7) PrintWriter

 

 

cf. 스트림(Stream)이란?

스트림을 가장 쉽게 이해하려면 수도꼭지를 생각하면 된다. 수도꼭지를 틀면 물이 나오고 수도꼭지를 잠그면 물이 나오지 않는다. A라는 곳에서부터 B라는 곳까지 수도관이 연결되어 있고 A에서 계속 물을 보낸다면 B에서 수도꼭지를 틀때마다 물이 나오게 될 것이다. 여기서 스트림은 A수도관에서 B수도관으로 이동하는 물의 흐름이라고 할 수 있다.

프로그래밍에서는 다음과 같은 것들을 스트림이라고 할 수 있다.

  • 파일 데이터 (파일은 그 시작과 끝이 있는 데이터의 스트림이다.)
  • HTTP 응답 데이터 (브라우저가 요청하고 서버가 응답하는 HTTP 응답 데이터도 스트림이다.)
  • 키보드 입력 (사용자가 키보드로 입력하는 문자열은 스트림이다.)

 

 

'Archive > Java' 카테고리의 다른 글

[자바] GUI  (0) 2021.06.02
[자바] Collection  (0) 2021.05.26
[자바] 예외(Exception) 처리  (0) 2021.05.26
[자바] API(Application Programming Interface)  (0) 2021.05.26
[자바] 패턴을 통한 객체지향 언어의 이해  (0) 2021.05.26
'Archive/Java' 카테고리의 다른 글
  • [자바] GUI
  • [자바] Collection
  • [자바] 예외(Exception) 처리
  • [자바] API(Application Programming Interface)
J. Son
J. Son
Petit à petit l'oiseau fait son nid.
  • J. Son
    Steady Study Log
    J. Son
  • 전체
    오늘
    어제
    • 분류 전체보기 (172) N
      • Python & SQL (63)
        • Python Basics (21)
        • Python Problems (23)
        • Python Practice (11)
        • MySQL (1)
        • Git & GitHub (7)
      • ML & DL (7) N
      • Projects (6) N
        • Project Portfolio (6) N
      • AI Camp (4)
        • Camp Reflection (4)
      • Concept Notes (6)
        • Statistics & Stata (4)
        • Mathematics (2)
      • Archive (85) N
        • Java (24)
        • R (1)
        • Languages (49)
        • Miscellaneous (11) N
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • GitHub
    • WikiDocs
  • 공지사항

  • 인기 글

  • 태그

    streamlit
    파이썬 크롤링
    python problem
    점프투파이썬 연습문제 풀이
    Github
    파이썬 streamlit
    어린왕자 불어
    프랑스어 공부
    객체
    passe compose
    머신러닝
    프로젝트 오일러
    share.streamlit.io
    점프투파이썬 연습문제
    Le Petit Prince
    machine learning
    MySQL
    초보자를 위한 파이썬 300제
    GIT
    맥 git
    파이썬 문제
    자바
    python streamlit
    Python
    어린왕자 프랑스어
    불어 공부
    복합과거
    불어 관계대명사
    Stata
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
J. Son
[자바] 입출력(Input / Output)
상단으로

티스토리툴바