io와 bundle이란?io와 bundle은 Java에서 파일 입출력과 리소스 번들(Resource Bundle)과 관련된 개념입니다. 각각의 역할을 설명해드릴게요.
io (입출력, Input/Output)io는 입출력을 의미하며, Java에서는 java.io 패키지에 포함되어 있습니다.
파일을 읽고 쓰거나, 네트워크 데이터를 주고받을 때 사용하는 기본적인 입출력 기능을 제공합니다.
java.io 클래스| 클래스 | 설명 |
|---|---|
File | 파일을 생성, 삭제, 정보 확인 (파일 존재 여부, 크기 등) |
FileInputStream | 파일에서 바이트 단위로 읽기 |
FileOutputStream | 파일에 바이트 단위로 쓰기 |
BufferedReader | 텍스트 파일을 효율적으로 읽기 |
BufferedWriter | 텍스트 파일을 효율적으로 쓰기 |
ObjectInputStream | 객체를 파일에서 읽기 (직렬화된 객체 읽기) |
ObjectOutputStream | 객체를 파일에 저장 (직렬화된 객체 저장) |
io 사용)import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
✔️ BufferedReader와 FileReader를 사용하여 "example.txt" 파일을 한 줄씩 읽어 출력하는 코드입니다.
bundle (리소스 번들, Resource Bundle)bundle은 다국어 지원 및 설정 파일 관리에 사용하는 개념입니다.
Java에서는 java.util.ResourceBundle 클래스를 이용해 다양한 언어로 된 텍스트 또는 설정값을 로드할 수 있습니다.
.properties 파일을 사용하여 키-값 쌍을 저장.messages_en.properties, messages_ko.properties 등).ResourceBundle 클래스를 사용하여 쉽게 불러올 수 있음.bundle 사용)📂 프로젝트 구조
/src
├── Messages_en.properties
├── Messages_ko.properties
└── ResourceBundleExample.java
📄 Messages_en.properties (영어)
greeting = Hello!
farewell = Goodbye!
📄 Messages_ko.properties (한국어)
greeting = 안녕하세요!
farewell = 안녕히 가세요!
📄 ResourceBundleExample.java
import java.util.Locale;
import java.util.ResourceBundle;
public class ResourceBundleExample {
public static void main(String[] args) {
// 한국어 리소스 번들 불러오기
ResourceBundle bundle_ko = ResourceBundle.getBundle("Messages", new Locale("ko"));
System.out.println("Korean Greeting: " + bundle_ko.getString("greeting"));
System.out.println("Korean Farewell: " + bundle_ko.getString("farewell"));
// 영어 리소스 번들 불러오기
ResourceBundle bundle_en = ResourceBundle.getBundle("Messages", new Locale("en"));
System.out.println("English Greeting: " + bundle_en.getString("greeting"));
System.out.println("English Farewell: " + bundle_en.getString("farewell"));
}
}
Korean Greeting: 안녕하세요!
Korean Farewell: 안녕히 가세요!
English Greeting: Hello!
English Farewell: Goodbye!
✔️ ResourceBundle.getBundle("Messages", new Locale("ko"))를 사용하여 "Messages_ko.properties" 파일을 로드하고, "greeting" 키의 값을 가져와 출력합니다.
| 개념 | 설명 | 관련 패키지 |
|---|---|---|
io | 파일 입출력, 데이터를 읽고 쓰는 기능 | java.io |
bundle | 다국어 지원, 설정 파일 관리 | java.util |
io는 파일에서 데이터를 읽고 쓰는 역할 (FileReader, BufferedReader 등 사용).bundle은 다국어 지원 및 설정값 관리 (ResourceBundle 사용).이제 io와 bundle의 차이점을 이해했나요? 😊