ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스트림(Stream)
    Programing/C# 2009. 3. 19. 21:18

    스트림은 시냇물, 개울, 흐름이라는 뜻을 가지고 있다. 시냇물과 같이 출발지에서 목적지방향으로 흘러가는 데이터의 순차적인 흐름으로 이해하면 된다.
    C#에서는 모든 입출력이 Stream이라는 추상클래스를 통해서 이뤄진다.

    1. FileStream 과 Encoding

    - 파일스트림 클래스는 파일 기반의 스트림을 처리하기 위해 스트림 추상 멤버들을 오버로드하여 구현하고 있다. 파일을 생서, 변경, 삭제등등을 할수 있는것이 바로 FileStream이다.
    주요 속성으로는
     1) FileMode : 파일의 존재여부를 파악.
     2) FileAccess : 읽기 / 쓰기 여부 파악.
     3) FileShare : 공유 여부를 결정
    등이 있다.

    스트림을 통해 전달된 데이터는 바이트(Byte)형태로 저장된다.
    이 바이트들이 어떤 값을 가지고 있을거고 , 그 값을을 공통으로 갖기 표현하기 위하여 Encoding 클래스를 사용하게 된다.
     이 클래스는 유니코드 문자 집합을 다루고 있다.
    유니코드란 전세계 문자 인코딩 표준으로 전세계적으로 데이터를 교환할 수 있게 해주며, 다국어 문자 처리를 지원하기 위해 16비트 공간을 사용한다.
    주요 속성으론 ASCIIEncoding, UnicodeEncodig, UTF7, 8, 32Encodig등이 있다.


    2. StreamReader 와 StreamWriter

    - 위의 FileStream은 바이트 단위로 데이터를 입출력하기 때문에 문자열 기반의 데이터를 처리하기에 쫌 불편하다. 이때 바로 스트림리더와 라이터 클래스를 사용한다.

    StreamReader 클래스는 TextReader 추성 클래스로부터 파생된 클래스로 주요 메서드로는 Read, ReadBlock, ReadLine, ReadToEnd등이 있다.

    StreamWriter 클래스는 TextWriter추상 클래스로부터 파생된 클래스로 Write, WriteLine 메서드등을 자주사용한다.

    'Programing > C#' 카테고리의 다른 글

    DispatcherTimer 현재 시간 갱신  (1) 2010.11.05
    c# 에서의 using  (0) 2009.04.24
    KeyValuePair 사용하기  (0) 2009.04.09
    추상클래스(Adstract Calss)  (0) 2009.03.29
    Invoke() 메서드  (0) 2009.03.20
    스레드 사용하기  (0) 2009.03.19
    연결형 스트림 소켓과 비연결형 데이터그램 소켓  (0) 2009.03.18
    IPHostEntry 와 IPEndPoint  (0) 2009.03.18
    생성자에서의 this 와 base  (0) 2008.08.27
    가비지 컬렉션(Garbage Collection)  (0) 2008.08.13
Designed by Tistory.