public DirectoryMemoryManager(IFileSystem fileSystem, string filename, IDirectoryMemory directoryMemory) { _fileSystem = fileSystem; _filename = filename; DirectoryMemory = directoryMemory; }
public async ValueTask Update(IDirectoryMemory directoryMemory) { var content = JsonConvert.SerializeObject(directoryMemory, JsonSerializerSettings); await using (var fileStream = _fileSystem.FileStream.Create(_filename, FileMode.OpenOrCreate)) { await using (var textWriter = new StreamWriter(fileStream, Encoding.UTF8, 1024, true)) await textWriter.WriteAsync(content); fileStream.SetLength(fileStream.Position); } _fileSystem.File.SetAttributes(_filename, FileAttributes.Hidden); DirectoryMemory = directoryMemory; }