using System.IO; #pragma warning disable CA1724 namespace Amazon.JSII.JsonModel.FileSystem { public sealed class FileSystem : IFileSystem { public IFile File { get; } = new DefaultFile(); public IDirectory Directory { get; } = new DefaultDirectory(); } public sealed class DefaultFile : IFile { public string ReadAllText(string path) { return File.ReadAllText(path); } public void WriteAllText(string path, string contents) { File.WriteAllText(path, contents); } public void Copy(string sourceFileName, string destFileName) { File.Copy(sourceFileName, destFileName); } public FileStream Create(string path) { return File.Create(path); } } public sealed class DefaultDirectory : IDirectory { public void CreateDirectory(string path) { Directory.CreateDirectory(path); } public void Delete(string path, bool recursive) { Directory.Delete(path, recursive); } public bool Exists(string path) { return Directory.Exists(path); } } }