728x90
1. 파일 정보와 디렉토리 정보 다루기
파일(File) : 컴퓨터 저장매체에 기록되는 데이터 묶음
디렉토리(Directory) : 파일이 위치하는 주소
리눅스나 맥 환경에서는 디렉토리도 파일, 폴더라고 부르기도 함
.NET 프레임워크는 파일과 디렉토리 정보를 손 쉽게 다룰 수 있도록 System.IO 네임스페이스에 다음과 같은 클래스를 제공
- File : 파일을 생성, 복사, 삭제, 이동, 조회를 처리하는 정적 메소드를 제공
- FileInfo : File 클래스와 하는 일은 동일하지만 정적 메소드 대신 인스턴스 메소드를 제공
- Directory : 디렉토리의 생성, 삭제, 이동, 조회를 처리하는 정적 메소드를 제공
- DirectoryInfo : Directory 클래스와 하는 일은 동일하지만 정적 메소드 대신 인스턴스 메소드를 제공
정적 메소드와 인스턴스 메소드?
- 정적 메소드는 메소드가 정의된 클래스에 속해 있는것으로 취급된다. 객체를 생성하여 호출할 필요 없이 클래스명을 통해 참조하여 호출할 수 있다.
- 인스턴스 메소드는 클래스의 객체에 속해있는것이지 클래스에 속해있는 것이 아니다. 즉 클래스로 객체를 생성하고서 그 객체를 통해서만 호출할 수 있다. ex. Foo instance = new Foo();
File 클래스와 FileInfo 클래스, Directory 클래스와 DirectoryInfo 클래스는 같은 기능을 제공
File 클래스와 FileInfo 클래스의 사용 예제
Directory 클래스와 DirectoryInfo 클래스의 사용 예제
2. 파일을 읽고 쓰기 위해 알아둘 것
1. 스트림(Stream)
스트림 : 파일을 다룰 때의 스트림은 “데이터가 흐르는 통로”를 뜻함
메모리에서 하드디스크로 데이터를 옮길때, 스트림을 만들어 둘 사이를 연결한 뒤에 메모리의 데이터를 바이트 단위로 하드 디스크로 옮김.
2. 순차접근(Sequential Access)
순차접근 : 처음부터 끝까지 순서대로 읽고 쓰는 형식
3. 임의접근(Random Access)
임의접근 : 파일 내의 임의의 위치에 있는 데이터에 즉시 접근하는 방식으로 어떤 위치에 기록된 데이터라도 즉시 접근 가능
4. System.IO.Stream 클래스
입력 스트림, 출력 스트림의 역할을 모두 수행하며 순차접근방식과 임의접근장식 모두 지원
단, 추상 클레스이기 때문에 파생 클래스를 이용해야 함
추상 클래스?
추상 클래스(Abstract Class)는 추상 메서드를 선언해 놓고 상속을 통해 자식 클래스에서 메서드를 완성하도록 유도하는 클래스이다.
추상 클래스는 이를 상속받을 각 객체들의 공통점을 찾아 추상화시켜 놓은 것으로, 상속 관계를 타고 올라갔을 때 같은 부모 클래스를 상속하며 부모 클래스가 가진 기능들을 구현해야 할 경우 사용한다.
728x90
'공log > [C#]' 카테고리의 다른 글
[C#] Window Form #1 - File I/O 실습 (0) | 2023.09.13 |
---|