繁体   English   中英

File.WriteAllText和File.Copy问题

[英]File.WriteAllText and File.Copy issue

我正在使用File.WriteAllText创建一个文件,并使用File.Copy方法将同一文件复制到另一个目录。 但由于某种原因,它不会在源目录中创建文件,但会将其复制到目标目录。

可能是什么问题呢? 请告诉我。

File.WriteAllText(sourceFilePath, Contents.ToString());
File.Copy(sourceFilePath, destFilePath);

好吧,你知道文件实际上已经创建了,否则File.Copy()会抛出异常。 而File.Copy()从不删除源文件,就像File.Move()那样。

最简单的解释是文件刚刚在您不期望的文件夹中创建。 如果sourceFilePath不是绝对路径,这是常见的。 当您使用OpenFileDialog且其RestoreDirectory属性设置为false时,通常会发生这种情况。 例如。

始终使用绝对路径来避免这种情况。 Environment.GetFolderPath()是你的朋友。

该方法是否按照您的示例调用并发?

如果是这样,您可以调用File.WriteAllText两次以避免问题,但我不知道它为什么会发生。

您可以在复制之前执行File.Exists检查,或者尝试Thread.Sleep(100)并查看它是磁盘I / O类型问题。

你在写什么文件夹? 这可能是Vista / 7文件夹虚拟化问题吗?

如果您可以向我们展示您正在使用的实际代码,那将会很有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM