gpt4 book ai didi

c# - File.Create 异步写入保持文件锁定

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:49 25 4
gpt4 key购买 nike

我需要以异步方式每半秒写入一个文件。而且我只能在 .Net Framework 2.0 上使用 C#

我尝试使用 File.CreateBeginWrite。但它使文件保持锁定状态,我需要能够访问它(读取)。我试着摆弄安全设置,但我不太确定我在那里做什么。

感谢任何帮助!

编辑:

var bytes = Encoding.ASCII.GetBytes(stringBuilder.ToString());
var filePath = Path.Combine(OUTPUT_FOLDER, FILE_NAME);
var fileSteam = File.Create(filePath, bytes.Length, FileOptions.Asynchronous);
m_IAsyncResult = fileSteam.BeginWrite(bytes, 0, int.MaxValue, WriteCallback, new State(fileSteam));

private void WriteCallback(IAsyncResult ar) {
var state = (State)ar.AsyncState;
var stream = state.Stream;
stream.EndWrite(ar);

m_IAsyncResult = null;
}

最佳答案

您需要确保文件是以非独占方式打开的。查看此帖How can I read a text file without locking it?

关于c# - File.Create 异步写入保持文件锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com