작성
·
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()을 하면 데이터가 없겠죠? 그래서 에러가 날것입니다.