Exemplo n.º 1
0
    // 结束写入
    static void EndWrite(IAsyncResult asyncResult)
    {
        FileWaiter fw = (FileWaiter)asyncResult.AsyncState;

        fw.fs.EndWrite(asyncResult);
        fw.fs.Close();
        fw.isFinish = true;
    }
Exemplo n.º 2
0
    // 异步写入文件
    public static FileWaiter WriteFileAsync(string path, byte[] data)
    {
        // 保证目录存在
        Directory.CreateDirectory(Path.GetDirectoryName(path));

        // 写入文件
        FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);
        FileWaiter fw = new FileWaiter(fs);

        fs.BeginWrite(data, 0, data.Length, new AsyncCallback(EndWrite), fw);
        return(fw);
    }