rksoftware

Visual Studio とか C# とかが好きです

ファイルを同時に読んでみる

概要

冒頭のリンクの中の 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 メソッドなのもポイントですね。