c# 保存文件 - 断电过程中保存文件丢失
public static class FileSafeWrite
{
public static void WriteAllTextAtomically(string filePath, string content)
{
// 定义临时文件路径
string tempFilePath = filePath + ".tmp";
// 将内容写入临时文件
FileStream fs = new FileStream(tempFilePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
var contentByte = Encoding.UTF8.GetBytes(content);
fs.Write(contentByte);
fs.Flush(true); // 参数 true 会调用 FlushFileBuffers,强制写入磁盘
fs.Close();
// 替换原始文件
if (File.Exists(filePath))
{
File.Replace(tempFilePath, filePath, null);
}
else
{
File.Move(tempFilePath, filePath);
}
if (File.Exists(tempFilePath))
{
File.Delete(tempFilePath);
}
}
}
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com