小编dif*_*jin的帖子

C#文件流在线程中关闭

main(string[] args) {
    string file = @"D:\123.txt";

    using (FileStream f = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        f.Position = 0;
        StartReadBookThread(f);
    }   
}
//this is a public API for user
public static Thread StartReadBookThread(Stream stream)
{
    Console.WriteLine("CanSeek:" + stream.CanSeek);
    var t = new Thread(() => DoReadBook(stream));
    t.Start();
    return t;
}

private static void DoReadBook(Stream stream)
{
    Console.WriteLine("CanSeek:" + stream.CanSeek);
}
Run Code Online (Sandbox Code Playgroud)

DoReadBook方法中,流变为关闭,CanSeek变为假。
如果我想在线程中读取流,如何处理它,一般的方法是我们为用户提供一个公共 API StartReadBookThread 并在线程中运行。用户我们总是喜欢以建议 using(){} ... 方式调用参数文件流。那么我们如何才能更好地读取文件。你知道我们只是在一个线程中完成它,有时它可能会被关闭。

c# filestream

-2
推荐指数
1
解决办法
86
查看次数

标签 统计

c# ×1

filestream ×1