데이터의 저장&로드
텍스트: 단순하거나 비계층적, 중첩되지 않은 정보를 저장하는 데 사용.
XML (eXtensible Markup Language)
• 여는 태그와 닫는 태그로 데이터를 구분. 자식 요소를 사용하여 더 복잡한 객체를 저장할 수 있음.
• 형식:
<?xml version="1.0"?>
<ArrayOfWeapon>
<Weapon>
<Name>Sword</Name>
<Damage>10</Damage>
</Weapon>
<Weapon>
<Name>Bow</Name>
<Damage>5</Damage>
</Weapon>
</ArrayOfWeapon>
• 특징: 구조화가 상세하고, 사람이 읽기 쉽지만 공간을 많이 사용.
JSON (JavaScript Object Notation)
• 키-값 쌍으로 데이터를 저장. 키는 문자열, 값은 문자열, 숫자, 배열, 객체 등 다양한 형식이 가능.
• 형식:
{
"Weapon": [
{
"name": "Sword",
"damage": 10
},
{
"name": "Bow",
"damage": 5
}
]
}
• 특징: 간단하고 가볍고, 파싱이 더 효율적이지만, 때때로 복잡한 구조에서는 파싱이 어려울 수 있음.
XML과 JSON 차이점:
• XML은 구조가 복잡하고 세밀함. 태그가 많아 공간을 많이 차지하고, 사람이 읽기 쉬우나 구문이 길어 읽기 불편할 수 있음. 파싱은 유연하지만 메모리를 많이 사용함.
• JSON은 구조가 간단하고 직관적임. 공간을 적게 차지하며, 빠르고 효율적으로 파싱됨. 그러나 복잡한 데이터를 다룰 때 제약이 있을 수 있음.
Stream: 데이터를 순차적으로 읽거나 쓸 수 있게 해주는 데이터의 흐름. 파일이나 네트워크 같은 곳에서 데이터를 주고받을 때 사용
주로 게임 세이브 데이터 저장/로드, 로그 파일 작성, 설정 파일 읽기/쓰기, 대용량 데이터 처리에 사용됨
StreamWriter: 데이터를 파일에 쓰는 데 사용됨
StreamReader: 파일에서 데이터를 읽는 데 사용됨

- 파일 시스템 정보 출력
- 디렉토리 생성/삭제
- 텍스트 파일 생성/업데이트/읽기/삭제
- Stream을 사용한 텍스트 파일 쓰기/읽기
- XML형식으로 쓰기/읽기




'Unity & C# Basics' 카테고리의 다른 글
| C# 공부일지 : 직렬화/역직렬화 (0) | 2025.02.01 |
|---|---|
| C# 공부일지 : Stack, Queue, Hashset (0) | 2025.01.24 |
| C# 공부일지 : 엑세스 한정자, 메서드, OOP (0) | 2025.01.24 |
| C#책 공부일지 : Rigidbody, Update, Quaternion, Euler (0) | 2023.10.26 |
| C#책 공부일지 : Player Movement (1) | 2023.10.26 |