使用IsAsync的FileStream BeginWrite或WriteAsync

时间:2015-03-18 18:27:16

标签: c# filestream

我处于需要从不同线程写入相同文件流的情况。问题是我无法找到任何明确的解释是否需要处理写入之间的当前流位置?

我使用FileOptions.Asynchronous选项打开流,因此具有重叠的IO。

所有写入请求都按顺序进入下一个偏移量的缓冲区,从我的测试开始,一切正常,数据在文件偏移处正确写入。

但如果这种方法没有任何影响,真的可以回答。

1 个答案:

答案 0 :(得分:0)

您可以通过参数将FileStream传递给另一个方法。例如:

public void FirstMethod(){
    FileStream filestream = new FileStream();
    //fill filestream
    SecondMethod(filestream);
}

public void SecondMethod(FileStream filestream)
    filestream.//do whatever you want with it
}

或者您可以让方法返回文件流:

public FileStream FirstMethod() {
    FileStream filestream = new FileStream();
    //fill filestream
}

public void SecondMethod() {
    FileStream filestream = FirstMethod();
    //do what you want with it
}

如果你能告诉我们你做了什么,我们可以给你一个适合你情况的答案。