728x90
반응형
728x170
▶ 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
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] Lazy<T> 클래스 : 지연 초기화(lazy initialization) 사용하기 (0) | 2019.11.23 |
---|---|
[C#/COMMON] 지연 열거를 사용해 피보나치 수열 구하기 (0) | 2019.11.23 |
[C#/COMMON] 간접 재귀를 사용해 홀짝 여부 구하기 (0) | 2019.11.23 |
[C#/COMMON] 연속 전달형의 꼬리 재귀를 사용해 팩토리얼 구하기 (0) | 2019.11.23 |
[C#/COMMON] 누적기 전달형의 꼬리 재귀를 사용해 팩토리얼 구하기 (0) | 2019.11.23 |
[C#/COMMON] ManualResetEvent 클래스 사용하기 (0) | 2019.11.23 |
[C#/COMMON] ThreadPool 클래스 : QueueUserWorkItem 정적 메소드를 사용해 스레드 풀의 스레드 실행하기 (0) | 2019.11.22 |
[C#/COMMON] Stopwatch 클래스 사용하기 (0) | 2019.11.22 |
[C#/COMMON] 회문(Palindrome) 여부 구하기 (0) | 2019.11.20 |
[C#/COMMON] StreamWriter 클래스 : 콘솔 출력하기 (0) | 2019.11.20 |
댓글을 달아 주세요