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

인프러너님의 프로필 이미지
인프러너

작성한 질문수

Java TPC 실전프로젝트 (Java API 활용)

Java Geocoding(지도 이미지 생성하기_실습)

아래 소스의 차이가 뭘까요?

작성

·

213

0

            StringBuffer stringBuffer = new StringBuffer();
            String readLine;
            while ((readLine = bufferedReader.readLine()) != null) {
                stringBuffer.append(readLine);
            }
            bufferedReader.close();
            StringBuffer stringBuffer = new StringBuffer();
            String readLine;
            while (bufferedReader.readLine() != null) {
                readLine = bufferedReader.readLine();
                stringBuffer.append(readLine);
            }
            bufferedReader.close();

첫번째 소스와 두번째 소스의 차이점이 어떤걸까요?
둘 다 bufferedReader.readLine() != null 일 경우에 readLine에 값을 대입하는 식인데
첫번째로하면 오류가 안나는데 두 번째로 하면 오류가 나네요..

위 두 소스의 차이점을 알고 싶습니다.

 

 

 

 

답변 1

0

박매일님의 프로필 이미지
박매일
지식공유자

StringBuffer stringBuffer = new StringBuffer();

String readLine;

while (bufferedReader.readLine() != null) {

readLine = bufferedReader.readLine(); stringBuffer.append(readLine);

}

bufferedReader.close();

위소스는 readLine()을 두번하기 때문에 에러가 발생한겁니다. while안에서 readLine()을 한번해버리면 스트림의 값을 읽어 버리고 다시 아래어서 또 readLine()을 하면 데이터가 없겠죠? 그래서 에러가 날것입니다.

인프러너님의 프로필 이미지
인프러너

작성한 질문수

질문하기