강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

한경수님의 프로필 이미지
한경수

작성한 질문수

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

입력과 출력

inputStream.read()질문드립니다

작성

·

324

0

첫번째 예문에서

while(true) {

    data = inputStream.read();

}

이렇게 있는데 data += inputStream.read()라면 data에 1byte씩 읽어서 저장된다라고 생각이 드는데 그냥 "="인데 어떻게 전체 데이터가 저장이 되는 건가요?? 🤔

로직을 잘모르겠습니다 

퀴즈

자바에서 예외 처리(Exception Handling)를 하는 주된 목적은 무엇일까요?

프로그램 실행 속도를 최적화하기 위해

코드의 가독성을 높이고 디버깅을 쉽게 하기 위해

프로그램 실행 중 예상치 못한 문제 발생 시 시스템 중단을 방지하고 안정적으로 계속 진행하기 위해

외부 라이브러리 사용 시 발생하는 오류를 자동으로 수정하기 위해

답변 1

0

int형인 data 변수는 inputStream.read()가 가져온 전체 텍스트의 내용을 저장하는 것도 그 개수를 저장하려는 목적도 없습니다.. 1byte씩 읽어내는 족족 그 문자들을 읽어오기 위한 프로그램입니다. (여기서는 1byte씩 가져온 문자를 ASCII와 같은 코드로 보여주고 있습니다.) 

다시말해 이 프로그램은 전체 데이터를 저장하는 것이 아닌 '한글자씩' 전체에 해당하는 내용을 출력하라는 목적을 가진 프로그램입니다. 내용을 저장하는 변수는 없고System.out.println()을 while문에 넣고 문자가 없는 순간까지(End Of File) 출력하려는 목적을 가지고 있습니다. 

한경수님의 프로필 이미지
한경수

작성한 질문수

질문하기