[C#] - 텍스트, 이진파일 입출력 : FileStream, StreamWriter / StreamReader
○ 파일입출력 : FileStream, StreamWriter / StreamReader |
- 스트림(stream) 파일, 네트워크, 디비 등에서 데이터를 바이트 단위로 읽고 쓰는 클래스 Stream class는 상위 기본 클래스 -> 상속클래스들(FileStream, MemoryStream, NetworkStream, SqlFileStream) 스트림 클래스들을 사용하기 위해 using System.IO 를 선언해야 한다 - 파일스트림(FileStream) 파일입출력을 다루는 기본 클래스 System.IO.FileStream byte[ ] 배열로 데이터를 읽거나 저장하기에 -> 형변환이 요구된다 StreamWriter / StreamReader : 텍스트들을 저장하고 읽는 역할 BinaryWriter / BinaryReader : 이진파일들을 저장하고 읽는 역할(임의의 데이터형을 이용) => 텍스트모드는 바이너리파일(이진파일)을 읽고 쓰지 못함 그래서 글자가 깨져 나온다 => 이진파일(바이너리파일) : 행 단위가 아닌 모든 파일들, 다른 기호들이 들어있는 파일 public FileStream( string path, FileMode mode, FileAccess access ); // 경로, 모드, 읽기/쓰기 => access 생략 시, read/write 동시에 가능하다 FileMode 열거형 -> Append, Create, CreateNew, Open, OpenOrCreate, Truncate FileAccess 열거형 -> Read, ReadWrite, Write => FileStream 객체를 생성한 후에 작성 후 StreamWriter/StreamReader로 넘겨줘서 작업함 |
'C#' 카테고리의 다른 글
[C#] - 구조체, 클래스 입출력 : [Serializable] + 컬렉션 + BinaryFormatter (중요) (0) | 2019.04.02 |
---|---|
[C#] - string 데이터 분리 : Split, Substring, Trim (0) | 2019.04.02 |
[C#] - 배열 메소드 : 초기화 Array.Clear() 와 복사 .Clone() (0) | 2019.03.31 |
[C#] - 배열 : 고정 배열 [ , ] 과 가변 배열 [ ][ ] (0) | 2019.03.31 |
[C#] - 예외처리 : try ~ catch ~ finally / throw (중요) (0) | 2019.03.31 |