23.01.20. (금) - 파일 입출력 라이브러리

김도익·2023년 1월 20일
0

C#

목록 보기
19/29
post-thumbnail

파일

  • 파일(file)이란 정보를 저장하기 위한 단위입니다.
  • 프로그램도 파일의 일종입니다.
  • 파일은 크게 2종류로 나눌 수 있다.
    • 사람이 읽을 수 있는 기호로 구성된 텍스트 파일(Text File)
      • 텍스트 에디터로 열 수 있는 파일
    • 이진수로 구성된 바이너리 파일(Binary File)
      - 그 외 음악, 그림 등은 바이너리 파일이라고 보면 됩니다.

경로

  • 파일은 운영체제가 관리합니다.

  • 파일은 파일 시스템 아래에서 관리 됩니다.

  • 우리가 특정 파일에 접근하려면 경로(path)가 필요합니다.

  • 경로를 표현하는 방법에는 절대 경로(Absolute path), 상대 경로(Relative Path) 방식이 있습니다.

  • 일반적으로는 상대 경로를 이용합니다. 절대 경로를 이용하게 된다면 내가 작업하고 있는 환경과 유저의 환경이 조금이라도 다르다면 유저는 파일을 확인 할 수 없습니다

  • 아래 사진에서 보이는 파란색으로 칠해진 주소가 절대 경로입니다.

  • 디렉토리 구성이 아래처럼 되어 있고, Something.txt 파일에 접근하고 싶다고 해보겠습니다.

  • 절대 경로로 표현하면 C:/Project/Something.txt가 됩니다.

  • 상대 경로는 어떤 한 파일을 기준으로 경로를 표현하는 것입니다.

  • Temp.txt를 기준으로 상대 경로를 표현하면 ../Project/Something.txt가 됩니다.

Path

  • 경로에 관한 여러 가지 기능을 갖고 있는 Path 클래스가 존재합니다.

  • 윈도우즈의 경우 역슬래시가 포함되기 때문에 이스케이프 시퀀스 처리가 힘들 수 있습니다. 따라서 경로가 복잡할 경우 Path 클래스의 기능을 사용하는 것을 권장합니다.

  • Path 정보 : https://learn.microsoft.com/en-us/dotnet/api/system.io.path?view=net-7.0

텍스트 파일 쓰기

  • 텍스트 파일을 쓰는 것부터 해보겠습니다.

  • 텍스트 파일을 작성하면 File 클래스를 이용합니다.

  • File.WriteAllText();

    • 개행하고 싶다면 \n을 사용해야합니다.


  • File.WriteAllLines();

    • 원소마다 개행이 자동으로 됩니다.


  • File.AppendAllText();


    • 덮어씌워 보겠습니다.


  • File.AppendAllLines();

    • 먼저 File.WriteLines("SampleSAMPLE",contents)를 통해 파일을 생성하겠습니다.

    • File.AppendAllLines();
      AppendAllText와 구동하는 방법은 비슷합니다.
      단, 개행을 굳이 하지 않아도 된다는 차이가 있습니다.

profile
고급 개발자가 되고 싶어요!

0개의 댓글