日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 文件异步操作

發(fā)布時間:2023/11/29 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 文件异步操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO;//文件異步操作 namespace FileAsynchronousOperation {class Program{static void Main(string[] args){//實例化MyFile類MyFile myFile = new MyFile();//定義參數(shù)string filePath = "D:\\testasy.txt";string msg = "helloworld";//調(diào)用異步操作方法 myFile.AsynchronousOperation(filePath,msg);}}/// <summary>/// 文件/// </summary>class MyFile{/// <summary>/// 文件異步操作/// </summary>/// <param name="filePath">文件路徑</param>/// <param name="msg">寫入內(nèi)容</param>public void AsynchronousOperation(string filePath,string msg){FileStream fileSteam = null;FileInfo fileinfo = new FileInfo(filePath);//判斷文件是否存在if (!fileinfo.Exists){fileSteam = fileinfo.Create();Console.WriteLine("創(chuàng)建文件{0}", filePath);fileSteam.Close();}fileSteam = new FileStream(filePath, FileMode.Open, FileAccess.Write, FileShare.None, 4096, true);Console.WriteLine("開啟異步操作{0}", fileSteam.IsAsync);byte[] buffer = Encoding.Default.GetBytes(msg);//開始執(zhí)行異步操作IAsyncResult asynncResult = fileSteam.BeginWrite(buffer,0, buffer.Length, new AsyncCallback(EndWriteCallBack), fileSteam);Console.WriteLine("開始異步寫入請稍候...");Console.Read();}/// <summary>/// 回調(diào)函數(shù)/// </summary>/// <param name="asyncResult">狀態(tài)</param>public void EndWriteCallBack(IAsyncResult asyncResult){Console.WriteLine("異步寫入開始...");FileStream stream = asyncResult.AsyncState as FileStream;//轉(zhuǎn)化為FileStream類型if (stream!=null){stream.EndWrite(asyncResult);stream.Close();}Console.WriteLine("寫入完成");}} } Filestreom 在對文件進行異步操作時,對大數(shù)據(jù)量讀寫操作使用 BeginRead 和 Begin 樹 rite 方法的效果更好;
而對于數(shù)據(jù)量較少的讀寫操作,使川異步方式的速度可能會比同步方式要慢。
所以,你需要針對應用程序的實際情況決定是否要選擇異步處理方式。

轉(zhuǎn)載于:https://www.cnblogs.com/lbonet/p/7396319.html

總結(jié)

以上是生活随笔為你收集整理的C# 文件异步操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。