zoukankan      html  css  js  c++  java
  • c# 高效读写文件

    一、同步读写文件(在并发情况下不会发生文件被占用异常)

    static void Main(string[] args)
    {
    Parallel.For(0, 10000, e =>
    {

    string str = "测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试
    ";
                    using (FileStream fs = new FileStream("d:\a.txt", FileMode.Append, FileAccess.Write, FileShare.ReadWrite, 1024, false))
                    {
                        byte[] bty = Encoding.UTF8.GetBytes(str);
                        fs.Write(bty, 0, bty.Length);
                        fs.Close();
                    }
        });
    } 二、异步读写文件(在并发情况下不会发生文件被占用异常)

    static void Main(string[] args)
    {
    Parallel.For(0, 10000, e =>
    {
    string str = "测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试 ";
    FileStream fs = new FileStream("d:\a.txt", FileMode.Append, FileAccess.Write, FileShare.ReadWrite, 1024, false);

    
    

    byte[] bty = Encoding.UTF8.GetBytes(str);
    fs.BeginWrite(bty, 0, bty.Length, new AsyncCallback(EndWriteCallback), fs);

    
    

    });
    Console.WriteLine("执行完成");
    Console.ReadKey();
    }

    private static void EndWriteCallback(IAsyncResult asr)
            {
                using (Stream str = (Stream)asr.AsyncState)
                {
                    str.EndWrite(asr);
                    Console.WriteLine("异步写入结束");
                }
            }
  • 相关阅读:
    通过结构体某个成员的地址计算结构体首地址 (转)
    2019.9.2课程设计报告
    2019.9.1课程设计报告
    2019.8.31课程设计报告
    2019.8.30课程设计报告
    2019.8.29课程设计报告
    2019.8.28课程设计报告
    2019.8.27课程设计报告
    2019.8.26课程设计报告
    2019.8.25课程设计报告
  • 原文地址:https://www.cnblogs.com/liyangLife/p/4802245.html
Copyright © 2011-2022 走看看