Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

Tip & Tech

개발 중 해결한 혹은 미리 알고 있으면 좋은 팁성 글을 공유하는 공간입니다

[C#] 비동기 파일 IO 처리

작성자 : 박종명
최초 작성일 : 2008-06-30 (월요일)
최종 수정일 : 2008-06-30 (월요일)
조회 수 : 4298

mkex.pe.kr 사이트에 '똥떵어리' 님이 올리신 글입니다.

비동기 적인 파일 IO 처리 방법 입니다.
대용량 파일의 대한 억세스 일경우 사용하시면 .....
 
델리게이트 함수가 현재 보기 힘들게 비동기 호출시 포함 되어 있는데 잘수정해서 쓰시면 됩니다.  작성자의 귀차니즘으로 분리 안했습니다.
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.IO;
using System.Diagnostics;
namespace asyncFileIO
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream fs = new FileStream("C:\\sample.txt",FileMode.Open);
            Byte[] data = new byte[200];
            long timeNow = Stopwatch.GetTimestamp();
            //비동기 작업 시작
            fs.BeginRead(data,0,data.Length,
            delegate(IAsyncResult ar)
            {
                //비동기 작업이 완료 되면 오는 델리기에트 수
                int bytesRead = fs.EndRead(ar);
                fs.Close();
                Console.WriteLine(ASCIIEncoding.ASCII.GetString(data));
                Console.WriteLine("Time stamp at the end of section 1 : {0}", Stopwatch.GetTimestamp()-timeNow);
            },null);
           
            // 작업 종료
            Console.WriteLine("Time stamp at the end of end section 2 : {0}", Stopwatch.GetTimestamp() - timeNow);
            Console.ReadLine();
        }
    }
}

이름
비밀번호
홈페이지
UN <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요