在C#开发中,经常遇见资源被占用,无法进行覆盖删除等操作。
以Image类为例,Image.From*方法,都会Lock资源,导致资源无法释放,特别是文件资源。
这时,我们可以先读取文件,然后将文件保存到MemoryStream中,然后再从内存中读取文件。
MemoryStream ms = new MemoryStream(); Image img = Image.FromFile(Path); img.Save(ms, img.RawFormat); img.Dispose(); Image p_w_picpath = Image.FromStream(ms);