첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

728x90
반응형

▶ Program.cs

using System;
using System.IO;

namespace TestProject
{
    /// <summary>
    /// 프로그램
    /// </summary>
    class Program
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Static
        //////////////////////////////////////////////////////////////////////////////// Private

        #region 파일 읽기 콜백시 처리하기 - ReadFileCallback(asyncResult)

        /// <summary>
        /// 파일 읽기 콜백시 처리하기
        /// </summary>
        /// <param name="asyncResult">비동기 결과</param>
        private static void ReadFileCallback(IAsyncResult asyncResult)
        {
            FileStream fileStream = (FileStream)asyncResult.AsyncState;

            int byteCount = fileStream.EndRead(asyncResult);

            Console.WriteLine("바이트 수 : {0}", byteCount);
        }

        #endregion
        #region 프로그램 시작하기 - Main()

        /// <summary>
        /// 프로그램 시작하기
        /// </summary>
        private static void Main()
        {
            string filePath = "d:\\source.txt";

            using(FileStream fileStream = File.OpenRead(filePath))
            {
                byte[] bufferByteArray = new byte[fileStream.Length];

                IAsyncResult asyncResult = fileStream.BeginRead
                (
                    bufferByteArray,
                    0,
                    (int)fileStream.Length,
                    ReadFileCallback,
                    fileStream
                );

                int i = 0;

                do
                {
                    Console.WriteLine("타이머 카운트 : {0}", ++i);
                }
                while(!asyncResult.IsCompleted);
            }
        }

        #endregion
    }
}
728x90
반응형
Posted by 사용자 icodebroker

댓글을 달아 주세요