윈도우즈프로그래밍#17

LeeMir, 20 May 2021

파일입출력


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