77 lines
2.4 KiB
C#
77 lines
2.4 KiB
C#
using System;
|
|
using System.IO;
|
|
using Core.Main;
|
|
|
|
namespace Core.Helper {
|
|
public static class FileHelper {
|
|
public static void WriteTextToFile(string folderPath, string fileName, string text) {
|
|
FileHelper.WriteTextToFile(folderPath, fileName, text, Constants.confMinDate, Constants.confMinDate);
|
|
}
|
|
|
|
public static void WriteTextToFile(string folderPath, string fileName, string text, DateTime creationTime, DateTime lastWriteTime) {
|
|
if (!Directory.Exists(folderPath)) {
|
|
Directory.CreateDirectory(folderPath);
|
|
}
|
|
|
|
File.WriteAllText(folderPath + fileName, text);
|
|
|
|
if (creationTime != Constants.confMinDate) {
|
|
File.SetCreationTimeUtc(folderPath + fileName, creationTime);
|
|
}
|
|
|
|
if (lastWriteTime != Constants.confMinDate) {
|
|
File.SetLastWriteTimeUtc(folderPath + fileName, lastWriteTime);
|
|
}
|
|
}
|
|
|
|
public static void CreateBackup(string filePath, string backupFolder) {
|
|
FileHelper.CreateBackup(filePath, backupFolder, "");
|
|
}
|
|
|
|
public static void CreateBackup(string filePath, string backupFolder, string backupFileName) {
|
|
if (!Directory.Exists(backupFolder)) {
|
|
Directory.CreateDirectory(backupFolder);
|
|
}
|
|
|
|
FileInfo file = new FileInfo(filePath);
|
|
|
|
string backupFilePath = backupFolder + DateTime.Now.ToString("yyyy-MM-dd_HH.mm.ss") + "_" + file.Name;
|
|
if (!backupFileName.Equals("")) {
|
|
backupFilePath = backupFolder + backupFileName;
|
|
}
|
|
|
|
File.Copy(file.FullName, backupFilePath, true);
|
|
}
|
|
|
|
public static void CleanupFilesMinutes(string folderPath, int maxMinutes) {
|
|
if (!Directory.Exists(folderPath)) {
|
|
Directory.CreateDirectory(folderPath);
|
|
}
|
|
|
|
DirectoryInfo folder = new DirectoryInfo(folderPath);
|
|
foreach (FileInfo file in folder.GetFiles()) {
|
|
DateTime maxAge = DateTime.Now.AddMinutes(-maxMinutes);
|
|
|
|
if (file.LastWriteTime < maxAge) {
|
|
File.Delete(file.FullName);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void CleanupFiles(string folderPath, int maxHours) {
|
|
if (!Directory.Exists(folderPath)) {
|
|
Directory.CreateDirectory(folderPath);
|
|
}
|
|
|
|
DirectoryInfo folder = new DirectoryInfo(folderPath);
|
|
foreach (FileInfo file in folder.GetFiles()) {
|
|
DateTime maxAge = DateTime.Now.AddHours(-(maxHours + 1));
|
|
|
|
if (file.LastWriteTime < maxAge) {
|
|
File.Delete(file.FullName);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|