Pra*_*bhu 8 .net c# file-io asynchronous async-await
如何修改此方法以异步调用它?
private void Write(string fileName, data)
{
File.WriteAllText(fileName, data);
}
Run Code Online (Sandbox Code Playgroud)
Yuv*_*kov 19
查看FileStream.WriteAsync(注意你必须使用正确的重载,它bool指示是否应该运行异步:)
public async Task WriteAsync(string data)
{
var buffer = Encoding.UTF8.GetBytes(data);
using (var fs = new FileStream(@"File", FileMode.OpenOrCreate,
FileAccess.Write, FileShare.None, buffer.Length, true))
{
await fs.WriteAsync(buffer, 0, buffer.Length);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
如果你想使用你的string data并且避免转换为a byte[],你可以使用StreamWriter.WriteAsync接受字符串的更抽象和更简洁的重载:
public async Task WriteAsync(string data)
{
using (var sw = new StreamWriter(@"FileLocation"))
{
await sw.WriteAsync(data);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4875 次 |
| 最近记录: |