파일 입출력 라이브러리 (파이리 출력)

김찬수·2023년 2월 17일
0

개요

  • 프로그램을 구동하기 위한 여러가지 데이터가 있을 것
  • 보통은 데이터를 파일로 저장하게 되고, 실행할 때 이런 파일을 불러와서 처리
  • 만약 데이터가 하드코딩 되어 있다면 어떤 패치가 필요할 때마다 매번 새로운 프로그램을 만들어서 유저들에게 배포를 해야할 것임
  • 즉, 확장성이 좋지 않음
  • 실시간으로 데이터가 바뀌어야 하는 경우도 있음
  • 위와 같은 상황을 방지하기 위해서 파일을 다루는 것은 중요함

파일

  • 파일은 정보를 저장하기 위한 단위
  • 보조메모리(HDD,SSD)에 저장된 데이터들을 파일이라고 함
  • 프로그램도 파일의 일종
  • 파일은 크게 2종류로 나눌 수 있음
  • 사람이 읽을 수 있는 기호로 구성된 텍스트 파일
  • 이진수로 구성된 바이너리 파일
  • 텍스트 에디터로 열 수 있는 파일은 텍스트 파일이고, 음악이나 그림 등은 바이너리 파일이라고 보면 됨

경로

  • 파일은 운영체제의 기능 중 파일 시스템이라는 것으로 관리됨
  • 우리가 원하는 파일에 접근하려면 경로가 필요함
  • 경로를 표현하는 방법에는 절대 경로 방식과 상대 경로 방식이 있음
  • 위의 그림처럼 디렉토리가 구성되어 있고, Something.txt 파일에 접근한다고 가정
  • 절대 경로로 표현하면 C:/Project/Something.txt
  • 상대 경로는 어떤 한 파일을 기준으로 경로를 표현하는 것
  • Temp.txt를 기준으로 상대 경로를 표현하면 ../Project/Something.txt가 됨
  • 모든 사람의 컴퓨터가 똑같이 구성되어 있지 않기 때문에 상대 경로가 조금 더 유연한 방식일 수 있음

Path

  • C#은 경로에 관한 여러 가지 기능을 가지고 있는 Path 클래스가 존재
  • Windows의 경우 경로에 역슬래시가 포함되기 때문에 이스케이프 시퀀스 처리가 힘들 수 있기 때문에, 경로가 복잡할 경우 Path 클래스의 기능을 사용하는 것을 권장

텍스트 파일 쓰기


  • 위와 같은 방식으로 텍스트 파일을 쓸 수 있음
  • AppendAllText와 AppendAllLines를 사용하여 기존 파일에 새로운 내용을 추가할수도 있음
  • 코드를 추가하고 다시 sample과 sample2 파일을 확인해보자
  • 각각의 텍스트 파일에 “This is new sentence.” 가 추가되었음을 확인 가능

텍스트 파일 읽기

  • 텍스트 파일을 읽는 것은 ReadAllText와 ReadAllLines를 사용할 수 있음
profile
프로그래머 지망생

0개의 댓글