bufferwriter에서 flush는 bufferwriter에 담긴 문자열을 전부 방출하고, close는 버퍼를 닫는것으로만 생각했었다.
그런데...코드를 확인해보니, close에 flush의 기능도 하고있음을 알게되었다.
public void flush() throws IOException {
synchronized (lock) {
flushBuffer();
out.flush();
}
}
@SuppressWarnings("try")
public void close() throws IOException {
synchronized (lock) {
if (out == null) {
return;
}
try (Writer w = out) {
flushBuffer();
} finally {
out = null;
cb = null;
}
}
}
flushBuffer 매서드를 호출하면서 buffer를 비워주고있다.
여태껏 문제풀때 마지막에 flush와 close를 같이 호출했는데, 완전 삽질이었던것...
이제 flush를 따로안하기로했다.
'개발 일반' 카테고리의 다른 글
| vscode 단축키 설정 (0) | 2024.10.06 |
|---|---|
| Git upstream 설정 (0) | 2024.04.07 |
| 명명 규칙 (0) | 2024.04.07 |