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("异步写入结束");
                }
            }
  • 相关阅读:
    什么叫精通C++
    编程好书推荐
    Reading Notes ofC Traps and Pitfalls
    继承的小问题
    关于strcpy函数
    #pragma once 与 #ifndef 的区别解析
    模板类的友元重载函数
    NET开发人员必知的八个网站
    获取MDI窗体的实例
    .Net下收发邮件第三方公共库
  • 原文地址:https://www.cnblogs.com/liyangLife/p/4802245.html
Copyright © 2011-2022 走看看