윈도우즈프로그래밍#17
LeeMir, 20 May 2021
파일입출력
파일 정보와 디렉토리 정보 다루기
- 파일은 컴퓨터 저장매체에 기록되는 데이터의 묶음
- 디렉토리는 파일이 위치하는 주소
- 파일(서류)을 담는다는 의미에서 폴더(서류철)라고 부르기도 함
- .NET 프레임워크는 파일과 디렉토리 정보를 손쉽게 다룰 수 있도록
System.IO
네임스페이스에 클래스를 제공함- File 클래스와 FileInfo 클래스는 같은 기능을 제공하는데, File 클래스는 정적 메소드를 통해 제공하고 FileInfo 클래스는 인스턴스 메소드를 통해 제공
- Directory 클래스와 DirectoryInfo도 같은 기능을 제공
- 디렉토리에 대해 한 두가지 작업을 할 때에는 Directory 클래스, 여러 작업을 해야할 때에는 DirectoryInfo 클래스를 사용함
파일을 읽고 쓰기 위해 알아야 할 것들
- 스트림
- 영어로 시내, 강 또는 도로의 차선을 뜻함
- 파일을 다룰 때의 스트림은 “데이터가 흐르는 통로”를 뜻함
- 메모리에서 하드디스크로 데이터를 옮길 때, 스트림으로 만들어 둘 사이를 연결한 뒤에 메모리의 데이터를 바이트 단위로 하드 디스크로 옮김
- 그 반대의 경우도 마찬가지
System.IO.Stream
클래스- 입력 스트림, 출력 스트림의 역할을 모두 수행
- 순차 접근 방식과 임의 접근 방식 모두 지원
- 단, 추상 클래스이기 때문에 이 클래스의 파생 클래스를 이용해야 함
- 순차 접근
- 처음부터 끝까지 순서대로 읽고 쓰는 접근 방식
- 스트림이 데이터의 “흐름”임을 고려하면 자연스러운 방식임
- 임의 접근(Random Access)
- 파일 내의 임의의 위치에 있는 데이터에 즉시 접근하는 방식
- 하드 디스크와 같이 암과 헤드를 움직여 디스크의 어떤 위치에 기록된 데이터라도 즉시 접근할 수 있는 경우에 적합