File: FileWrapper.cs
Web Access
Project: src\src\libraries\Microsoft.Extensions.DependencyModel\src\Microsoft.Extensions.DependencyModel.csproj (Microsoft.Extensions.DependencyModel)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System;
using System.Diagnostics.CodeAnalysis;
using System.IO;
 
namespace Microsoft.Extensions.DependencyModel
{
    internal sealed class FileWrapper : IFile
    {
        public bool Exists([NotNullWhen(true)] string? path)
        {
            return File.Exists(path);
        }
 
        public string ReadAllText(string path)
        {
            return File.ReadAllText(path);
        }
 
        public Stream OpenRead(string path)
        {
            return File.OpenRead(path);
        }
 
        public Stream OpenFile(
            string path,
            FileMode fileMode,
            FileAccess fileAccess,
            FileShare fileShare,
            int bufferSize,
            FileOptions fileOptions)
        {
            return new FileStream(path, fileMode, fileAccess, fileShare, bufferSize, fileOptions);
        }
 
        public void CreateEmptyFile(string path)
        {
            try
            {
                File.Create(path).Dispose();
            }
            catch { }
        }
    }
}