重命名我的应用程序正在使用的文件

时间:2015-08-11 18:44:44

标签: c# .net vb.net

我已经完成了搜索并找到了一些与我自己相似的线程,虽然他们的修复并没有真正帮助我。

我正在制作一个图像管理软件,并在文件浏览器类型的列表视图中打开图像,然后在点击框中预览。我希望有一个选项来重命名图像文件(例如,如果它像234234234.jpg,将其重命名为“trip with parents.jpg”之类的相关内容)。问题是我的应用程序始终在使用该文件。我已经尝试使用它们处理所有图像对象以及控件,但没有任何工作正常。我总是得到IOException,该文件正由另一个进程(我的程序)使用。

我正在使用File.Move并尝试了My.Computer.FileSystem.RenameFile

我目前的代码:

If BasePathWithItem = "" Then Exit Sub

File.Move(BasePathWithItem, BasePath & txtPicTitle.Text & txtExtension.Text)
PopulateImgList()

感谢任何帮助。我对VB和C#都很擅长,所以对这两种语言的帮助都是可以接受的。

非常感谢

1 个答案:

答案 0 :(得分:2)

Bitmap个对象保持打开创建它们的流。 (请参阅“备注”部分here。)问题的一个解决方案是将整个图像文件读取到MemoryStream,然后从Bitmap创建MemoryStream。关闭原始FileStream,您就可以移动文件了。