Saku-Overclock

Форк
0
41 строка · 1.1 Кб
1
using System.Text;
2

3
using Newtonsoft.Json;
4

5
using Saku_Overclock.Core.Contracts.Services;
6

7
namespace Saku_Overclock.Core.Services;
8

9
public class FileService : IFileService
10
{
11
    public T Read<T>(string folderPath, string fileName)
12
    {
13
        var path = Path.Combine(folderPath, fileName);
14
        if (File.Exists(path))
15
        {
16
            var json = File.ReadAllText(path);
17
            return JsonConvert.DeserializeObject<T>(json);
18
        }
19

20
        return default;
21
    }
22

23
    public void Save<T>(string folderPath, string fileName, T content)
24
    {
25
        if (!Directory.Exists(folderPath))
26
        {
27
            Directory.CreateDirectory(folderPath);
28
        }
29

30
        var fileContent = JsonConvert.SerializeObject(content);
31
        File.WriteAllText(Path.Combine(folderPath, fileName), fileContent, Encoding.UTF8);
32
    }
33

34
    public void Delete(string folderPath, string fileName)
35
    {
36
        if (fileName != null && File.Exists(Path.Combine(folderPath, fileName)))
37
        {
38
            File.Delete(Path.Combine(folderPath, fileName));
39
        }
40
    }
41
}
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.