【桌面开发】winForm/WPF System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件

一、问题

今天项目开发中,读取本地数据存储data.xml文件,提示

System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件

实际上是被自己的程序对此文件的写操作占用了,所以读操作无法完成

【桌面开发】winForm/WPF System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件_第1张图片

二、解决

文件正由另一进程使用,因此该进程无法访问该文件

原来是构造System.IO.FileStream时,使用的方法有问题

【桌面开发】winForm/WPF System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件_第2张图片

这个方法打开文件的时候是以只读共享的方式打开的,但若此文件已被一个拥有写权限的进程打开的话,就无法读取了,

因此需要使用

【桌面开发】winForm/WPF System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件_第3张图片

设置文件共享方式为读写,FileShare.ReadWrite,这样的话,就可以打开了。

三、小结

问题解决了,天天打码,天天进步!!!

你可能感兴趣的:(桌面开发(C/C++,C#))