vb.net 如何复制一个正在使用的文件
如果文件被其它进程以独占方式锁定,那么捂执涡扔使用普通的文件复制方法就会出现错误:"操作无法完成,因为文件在xxx中打开,请关闭文件再重试”。对于这种正在使用中的文件,使用VB.NET内建的文件复制方法,也可能会出现类似的错误,那有没有办法解决这个问题呢?本文以实例方法说明如何在VB.NET中实现复制一个正在使用的文件。


3、用VB.NET中常规的文件复制方法重现问题双击Button1添加如下代码,运行后会出现下图所示的异常。Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click FileCopy("D:\Test\demo.mdf","D:\Test\demo1.mdf") End Sub

5、在VB.NET中使用VSS技术百度搜索下载AlphaVSS和AlphaFS两个开源项目的相关文件,在VB.NET工程中添加如下引用引用。关键字如下:AlphaVSS site:alphavss.alphaleonis.comAlphaFS site:alphafs.alphaleonis.com

6、添加VSS文件复制代码双击Button2添加如下代码,运行后就可以正常复制了。 Private Sub Button2_Click(sender As Object, e As Eve荏鱿胫协ntArgs) Handles Button2.Click Dim sourceFile,destFile As String sourceFile="D:\Test\demo.mdf" destFile="D:\Test\demo1.mdf" using vss as new VssBackup vss.Setup(Path.GetPathRoot(sourceFile)) File.Copy(vss.GetSnapshotPath(sourceFile), destFile) End Using End Sub
