可以在C#中打开的最大文件数是否有限制?

 少少_LV 发布于 2023-02-13 18:55

我正在制作一个应用程序,它需要同时打开至少676个文件到最多1400个文件.我将使用StreamWriterClass 写入这些文件并使用Class读取数据StreamReader.因此,对于可以同时打开以便在C#中读取或写入的文件的最大限制,就像VC++一样,如下面的链接所述. Windows中打开文件的数量是否有限制.

2 个回答
  • .NET打开的文件的上限受Win32 API CreateFile强加的限制,即16384.

    2023-02-13 18:57 回答
  • 这对我有用:

      var streams = new Stream[10000];
      for (var i = 0; i < streams.Length; i++) {
        streams[i] = File.OpenWrite(Path.Combine(Path.GetTempFileName()));
        streams[i].WriteByte((byte)'A');
      }
      var tasks = new Task[streams.Length];
      for (var i = 0; i < streams.Length; i++) {
        var index = i;
        tasks[i] = new Task(() => {
          streams[index].WriteByte((byte)'B');
        });
        tasks[i].Start();
      }
      Task.WaitAll(tasks);
      for (var i = 0; i < streams.Length; i++) {
        streams[i].Close();
      }
    

    2023-02-13 18:57 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有