程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 如何異步讀取文件

如何異步讀取文件

編輯:C#入門知識

異步讀取文件,讀取完成之後觸發事件,通知主線程。主線程與讀取文件的線程互相獨立。

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Diagnostics;
using System.Threading;

namespace ExToDB.FileTransfer
{
    /// <summary>
    /// 異步讀取文件
    /// </summary>
    public class AsyncProcessor
    {
        private Stream inputStream;

        public Stream InputStream
        {
            get { return inputStream; }
            set { inputStream = value; }
        }

        // 每次讀取塊的大小
        private int bufferSize = 2048;

        public event ReturnEndEvent IsReturnEvent;

        protected void OnIsReturnEvent()
        {
            if (IsReturnEvent != null)
                IsReturnEvent(this, new ReturnEndReadEventargs(true));
        }

        public int BufferSize
        {
            get { return bufferSize; }
            set { bufferSize = value; }
        }

        // 容納接收數據的緩存
        private byte[] buffer;

        public AsyncProcessor(string fileName)
        {
            buffer = new byte[bufferSize];

            // 打開文件,指定參數為true以提供對異步操作的支持
            inputStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize, true);
        }

        /// <summary>
        /// 開始讀取
        /// </sum

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved