Saku-Overclock
41 строка · 1.1 Кб
1using System.Text;2
3using Newtonsoft.Json;4
5using Saku_Overclock.Core.Contracts.Services;6
7namespace Saku_Overclock.Core.Services;8
9public class FileService : IFileService10{
11public T Read<T>(string folderPath, string fileName)12{13var path = Path.Combine(folderPath, fileName);14if (File.Exists(path))15{16var json = File.ReadAllText(path);17return JsonConvert.DeserializeObject<T>(json);18}19
20return default;21}22
23public void Save<T>(string folderPath, string fileName, T content)24{25if (!Directory.Exists(folderPath))26{27Directory.CreateDirectory(folderPath);28}29
30var fileContent = JsonConvert.SerializeObject(content);31File.WriteAllText(Path.Combine(folderPath, fileName), fileContent, Encoding.UTF8);32}33
34public void Delete(string folderPath, string fileName)35{36if (fileName != null && File.Exists(Path.Combine(folderPath, fileName)))37{38File.Delete(Path.Combine(folderPath, fileName));39}40}41}
42