1cfd3bbb56
Topic_CSS/Topic_HTML/Topic_JavaScript/Topic_Prompt/Topic_Comfyui 등 기존 카테고리 폴더를 정리하고, Topic_Graphic/Dev 등 신규 산출물과 Topics 내부 세션/메모리 기록을 동기화.
75 lines
3.6 KiB
Markdown
75 lines
3.6 KiB
Markdown
---
|
|
id: java-fileoutputstream
|
|
title: "Java FileOutputStream"
|
|
category: "Programming_Language"
|
|
status: "draft"
|
|
verification_status: "conceptual"
|
|
canonical_id: ""
|
|
aliases: ["자바 FileOutputStream"]
|
|
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", "fileoutputstream", "byte-stream"]
|
|
raw_sources: ["https://www.w3schools.com/java/java_fileoutputstream.asp"]
|
|
applied_in: []
|
|
github_commit: ""
|
|
---
|
|
|
|
# [[Java FileOutputStream]]
|
|
|
|
## 🎯 한 줄 통찰 (One-line insight)
|
|
`FileOutputStream` mirrors `FileWriter`'s API surface almost exactly (`.write()`, overwrite-by-default, `true` as second constructor arg for append) — the only real difference is that it writes raw bytes (`text.getBytes()`) instead of character text, which is what makes it usable for binary files where FileWriter cannot go. [S1]
|
|
|
|
## 🧠 핵심 개념 (Core concepts)
|
|
- **`FileOutputStream`** — writes raw bytes; works for both text and binary data (images, PDFs, audio). [S1]
|
|
- **`.write(text.getBytes())`** — converts a String to bytes before writing. [S1]
|
|
- **Default overwrite behavior** — same as FileWriter: replaces existing file content. [S1]
|
|
- **Append mode** — pass `true` as the second constructor argument: `new FileOutputStream("filename.txt", true)`. [S1]
|
|
- **Byte-level file copying** — pairs with `FileInputStream` to copy any file type. [S1]
|
|
|
|
## 📖 세부 내용 (Details)
|
|
- Basic text write: `try (FileOutputStream output = new FileOutputStream("filename.txt")) { output.write(text.getBytes()); }`. [S1]
|
|
- Binary file copy: `try (FileInputStream input = new FileInputStream("image.jpg"); FileOutputStream output = new FileOutputStream("copy.jpg")) { int b; while ((b = input.read()) != -1) { output.write(b); } }`. [S1]
|
|
- Append mode: `try (FileOutputStream output = new FileOutputStream("filename.txt", true)) { output.write(text.getBytes()); }`. [S1]
|
|
- Class choice guide: FileWriter (basic text), BufferedWriter (large text, line handling), FileOutputStream (binary/raw byte control). [S1]
|
|
|
|
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
|
|
소스에서 모순되는 정보는 발견되지 않음.
|
|
|
|
## 🛠️ 적용 사례 (Applied in summary)
|
|
현재 발견된 실제 적용 사례가 없습니다 — FileInputStream과 짝을 이룬 이미지 파일 복사가 대표적 실전 응용이다. [S1]
|
|
|
|
## 💻 코드 패턴 (Code patterns)
|
|
Append mode with FileOutputStream (Java):
|
|
```java
|
|
String text = "\nAppended text!";
|
|
try (FileOutputStream output = new FileOutputStream("filename.txt", true)) { // true = append
|
|
output.write(text.getBytes());
|
|
System.out.println("Successfully appended to file.");
|
|
} catch (IOException e) {
|
|
System.out.println("Error writing 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 Files Write]], [[Java BufferedWriter]]
|
|
- **참조 맥락:** 바이트 단위 파일 쓰기 — FileInputStream과 짝을 이루어 파일 복사에 사용.
|
|
|
|
## 📚 출처 (Sources)
|
|
- [S1] W3Schools — Java FileOutputStream — https://www.w3schools.com/java/java_fileoutputstream.asp
|
|
|
|
## 📝 변경 이력 (Change history)
|
|
- 2026-07-04: Initial draft synthesized from the W3Schools "Java FileOutputStream" page (Astra wiki-curation, P-Reinforce v3.1 format).
|