c#检测文件是否写入完成我正在为从FTP转换为WMV的文件编写一个PowerPoint加载项。我有以下代码可以正常工作:oPres.CreateVideo(exportName);oPres.SaveAs(String.Format(exportPath,exportName),PowerPoint.PpSaveAsFileType.ppSaveAsWMV,MsoTriState.msoCTrue);但这在PP内部启动了一个过程,使文件转换,并在写入文件之前立即转到下一行代码。有没有办法检测此文件何时完成写入,以便我可以在知道文件已完成的情况下运行下一行代码?当文件正在使用时,它不可用,因此您可以检查可用性并等待文件可用。一个例子:以上是C#学习教程:c#检测文件是否被写入和共享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注—voidAwaitFile(){//YourFilevarfile=newFileInfo("yourFile");//虽然由于写入过程而无法访问文件while(IsFileLocked(file)){}//文件在此处可用}//////ChrisW编写的代码->http://stackoverflow.com/questions/876473/有没有办法检查文件是否正在使用中///protectedvirtualboolIsFileLocked(FileInfofile){FileStreamstream=null;尝试{stream=file.Open(FileMode.Open,FileAccess.ReadWrite,FileShare.None);}catch(IOException){返回真;}finally{if(stream!=null)stream.Close();}//文件没有被锁定returnfalse;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
