我无法理解为什么我需要在访问文件并写入文件之前处理 File.Create 或将创建包装在使用工作站中。为什么我需要处理 File.Create 初始化的 Stream 类的实例,并且必须创建另一个 Stream 实例来写入它?他们是在不同的线程,为什么?
为什么创作,文字撰写和删除不能共享相同的流?也许我只是不明白 Stream 。
例如:
File.Create(...);
File.ReadLine(...); <-- The process cannot access the file ... because it is being used by another process
using (File.Create(...)) {};
File.ReadLine(...); <-- OK
答案 0 :(得分:2)
请参阅MSDN上的File.Create
页面上的备注部分(强调我的):
此方法创建的FileStream对象具有默认的FileShare 无价值;没有其他进程或代码可以访问创建的文件 直到原始文件句柄关闭。