在下面的代码中:
if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat"))
{
File.AppendAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat", temp);
}
else
{
File.Create(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat");
File.SetAttributes(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat", FileAttributes.Hidden);
File.AppendAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat", temp);
}
出于某种原因,第一次运行这段代码时,它会很好地创建文件,但不会写入文件,直到我退出应用程序并重新运行它时才会写入。第 2、3 次等等运行正常,只是最初的问题很棘手。有任何想法吗?文件名和目录是随机的,因为我只是在测试一些东西,所以如果你正在测试一些东西,你应该能够将它们更改为任何你想要的。提前致谢
最佳答案
你应该在 File.Create 之后放置 .Close()
File.Create(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat").Close();
阅读更多信息 MSDN File.Create
或者你可以这样做
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat", temp);
File.SetAttributes(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/data.dat", FileAttributes.Hidden);
阅读更多信息 MSDN File.WriteAllText
关于c# - 创建后无法立即写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785395/