Files
2nd/10_Wiki/Dev/Topic_Java/Java_BufferedReader.md
T
Antigravity Agent 1cfd3bbb56 docs(10_Wiki): 위키 구조 정리 — 언어 튜토리얼 카테고리 폴더 제거 + 신규 자산 동기화
Topic_CSS/Topic_HTML/Topic_JavaScript/Topic_Prompt/Topic_Comfyui 등 기존 카테고리 폴더를 정리하고,
Topic_Graphic/Dev 등 신규 산출물과 Topics 내부 세션/메모리 기록을 동기화.
2026-07-05 00:10:59 +09:00

73 lines
3.3 KiB
Markdown

---
id: java-bufferedreader
title: "Java BufferedReader"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["자바 BufferedReader"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.88
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["java", "programming", "w3schools", "io", "bufferedreader", "character-stream"]
raw_sources: ["https://www.w3schools.com/java/java_bufferedreader.asp"]
applied_in: []
github_commit: ""
---
# [[Java BufferedReader]]
## 🎯 한 줄 통찰 (One-line insight)
`BufferedReader` never opens files directly — it always wraps a `FileReader`, which handles the actual file-opening while BufferedReader adds a memory buffer on top to make line-by-line reading (`readLine()`) fast for large files, a decorator-pattern relationship rather than a standalone class. [S1]
## 🧠 핵심 개념 (Core concepts)
- **`BufferedReader`** — reads text line-by-line via `readLine()`; must be paired with `FileReader` (which opens the file). [S1]
- **`readLine()`** — returns `null` at end-of-file, used as the loop termination condition. [S1]
- **Buffer for speed** — the class uses an internal memory buffer to make reading faster than unbuffered access. [S1]
- **Best use case** — large text files, since it's faster and uses less memory than Scanner. [S1]
## 📖 세부 내용 (Details)
- Line-by-line read: `try (BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) {...}`. [S1]
- Class comparison: Scanner (simple text, split into lines/words/numbers), BufferedReader (large text files, faster, less memory, readLine()), FileInputStream (binary files). [S1]
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 모순되는 정보는 발견되지 않음.
## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 대용량 텍스트 파일을 빠르게 한 줄씩 읽는 표준 패턴이다. [S1]
## 💻 코드 패턴 (Code patterns)
Reading a file line by line with BufferedReader (Java):
```java
try (BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Error reading file.");
}
```
## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.88
- **중복 검사 결과:** 신규 생성 (New discovery)
## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[Java Tutorial]]
- **관련 개념:** [[Java FileInputStream]], [[Java BufferedWriter]], [[Java Files Read]]
- **참조 맥락:** 버퍼링을 통한 빠른 텍스트 읽기 — BufferedWriter와 대칭되는 쓰기 클래스.
## 📚 출처 (Sources)
- [S1] W3Schools — Java BufferedReader — https://www.w3schools.com/java/java_bufferedreader.asp
## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "Java BufferedReader and BufferedWriter" page (Astra wiki-curation, P-Reinforce v3.1 format).