概要
冒頭のリンクの中の Reading & Writing Files という項目が気になったので動かしてみました。 新しいファイル読み書きの API ですね。
試しに一つのファイルを並行で 2 処理で読んでみています。
コード
コード
using SafeFileHandle handle = File.OpenHandle("test.txt"); var bytes1 = new byte[3]; var bytes2 = new byte[2]; var buffer1 = new Memory<byte>(bytes1); var buffer2 = new Memory<byte>(bytes2); var t1 = RandomAccess.ReadAsync(handle, buffer1, 1); var t2 = RandomAccess.ReadAsync(handle, buffer2, 1); Task.WaitAll(t1.AsTask(), t2.AsTask()); Console.WriteLine(System.Text.Encoding.Default.GetString(bytes1)); Console.WriteLine(System.Text.Encoding.Default.GetString(bytes2));
test.txt ファイル
1234567890
実行結果
234 23
計画通り! ちゃんと読めています。コードもシンプルですしいいですね。static メソッドなのもポイントですね。