mirror of
https://github.com/markjprice/cs11dotnet7.git
synced 2025-12-06 05:32:03 +01:00
21 lines
706 B
C#
21 lines
706 B
C#
using Microsoft.Win32.SafeHandles; // SafeFileHandle
|
|
using System.Text; // Encoding
|
|
|
|
using SafeFileHandle handle =
|
|
File.OpenHandle(path: "coffee.txt",
|
|
mode: FileMode.OpenOrCreate,
|
|
access: FileAccess.ReadWrite);
|
|
|
|
// write to the file
|
|
string message = "Café £4.39";
|
|
ReadOnlyMemory<byte> buffer = new(Encoding.UTF8.GetBytes(message));
|
|
await RandomAccess.WriteAsync(handle, buffer, fileOffset: 0);
|
|
|
|
// read from the file
|
|
long length = RandomAccess.GetLength(handle);
|
|
Memory<byte> contentBytes = new(new byte[length]);
|
|
await RandomAccess.ReadAsync(handle, contentBytes, fileOffset: 0);
|
|
string content = Encoding.UTF8.GetString(contentBytes.ToArray());
|
|
WriteLine($"Content of file: {content}");
|
|
|