강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của holykhd
holykhd

câu hỏi đã được viết

Dự án thực hành Java TPC (sử dụng API Java)

Mã hóa địa lý Java (Tạo hình ảnh bản đồ_Practice)

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

Viết

·

309

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에 값을 대입하는 식인데
첫번째로하면 오류가 안나는데 두 번째로 하면 오류가 나네요..

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

 

 

 

 

java객체지향

Câu trả lời 1

0

bitcocom님의 프로필 이미지
bitcocom
Người chia sẻ kiến thức

StringBuffer stringBuffer = new StringBuffer();

String readLine;

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

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

}

bufferedReader.close();

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

Hình ảnh hồ sơ của holykhd
holykhd

câu hỏi đã được viết

Đặt câu hỏi