using System.IO;
|
|
namespace IStation.DAL
|
{
|
/// <summary>
|
/// 文件辅助类
|
/// </summary>
|
public class FileHelper
|
{
|
|
/// <summary>
|
/// 查询数据文件夹路径
|
/// </summary>
|
public static string GetDataFolder()
|
{
|
var path = Path.Combine(Settings.File.RootDirectory, Settings.File.DataFolder);
|
if (!Directory.Exists(path))
|
Directory.CreateDirectory(path);
|
return path;
|
}
|
|
/// <summary>
|
/// 查询工作文件夹路径
|
/// </summary>
|
public static string GetWorkFolder()
|
{
|
var dataFolder = GetDataFolder();
|
var workFolder = Path.Combine(dataFolder, Settings.File.WorkFolder);
|
if (!Directory.Exists(workFolder))
|
Directory.CreateDirectory(workFolder);
|
return workFolder;
|
}
|
|
/// <summary>
|
/// 查询项目文件夹路径
|
/// </summary>
|
public static string GetProjectFolder(long projectId)
|
{
|
var workFolder = GetWorkFolder();
|
var projectFolder = Path.Combine(workFolder, projectId.ToString());
|
if (!Directory.Exists(projectFolder))
|
Directory.CreateDirectory(projectFolder);
|
return projectFolder;
|
}
|
|
/// <summary>
|
/// 查询数据来源文件夹路径
|
/// </summary>
|
public static string GetMonitorDataSourcesFolder(long projectId, long monitorDataSourcesId)
|
{
|
var projectFolder = GetProjectFolder(projectId);
|
var monitorDataSourcesFolder = Path.Combine(projectFolder, monitorDataSourcesId.ToString());
|
if (!Directory.Exists(monitorDataSourcesFolder))
|
Directory.CreateDirectory(monitorDataSourcesFolder);
|
return monitorDataSourcesFolder;
|
}
|
|
/* /// <summary>
|
/// 查询文件路径
|
/// </summary>
|
public static string GetFilePath<T>(long projectId, long monitorDataSourcesId)
|
{
|
var projectPath = GetMonitorDataSourcesFolder(projectId, monitorDataSourcesId);
|
var objType = typeof(T);
|
var fileName = Path.Combine(projectPath, objType.Name + Settings.File.FileExtension);
|
return fileName;
|
}
|
|
/// <summary>
|
/// 查询文件路径
|
/// </summary>
|
public static string GetFilePath<T>(string folderPath) where T : class
|
{
|
if (!Directory.Exists(folderPath))
|
Directory.CreateDirectory(folderPath);
|
var objType = typeof(T);
|
var fileName = Path.Combine(folderPath, objType.Name + Settings.File.FileExtension);
|
return fileName;
|
}*/
|
|
/// <summary>
|
/// 查询文件路径
|
/// </summary>
|
public static string GetFilePath<T>(string folderPath) where T : class
|
{
|
if (!Directory.Exists(folderPath))
|
Directory.CreateDirectory(folderPath);
|
var objType = typeof(T);
|
var fileName = Path.Combine(folderPath, objType.Name + Settings.File.FileExtension);
|
return fileName;
|
}
|
|
/// <summary>
|
/// 保存对象到文件中
|
/// </summary>
|
public static void SaveObjectFile<T>(string fileName, T t) where T : class
|
{
|
var str = JsonHelper.Object2FormatJson(t);
|
File.WriteAllText(fileName, str);
|
}
|
|
/// <summary>
|
/// 查询文件对象
|
/// </summary>
|
public static T GetFileObject<T>(string fileName) where T : class
|
{
|
if (!File.Exists(fileName))
|
return default;
|
var str = File.ReadAllText(fileName);
|
if (string.IsNullOrEmpty(str))
|
return default;
|
return JsonHelper.Json2Object<T>(str);
|
}
|
|
}
|
}
|