- First Update

This commit is contained in:
2022-03-07 14:35:38 +09:00
parent 1ab1cfd4ea
commit f53695b228
48 changed files with 17003 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace Mitria_Minecraft_Updater
{
public static class Extensions
{
public static void DirectoryCheckCrate(string path)
{
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
}
public static void DeleteEmptyDirectory(string path)
{
if (!System.IO.Directory.Exists(path))
{
return;
}
string[] directorys = System.IO.Directory.GetDirectories(path, "*", System.IO.SearchOption.AllDirectories);
for (int i = directorys.Length; i > 0; i--)
{
int countDirectory = System.IO.Directory.GetDirectories(directorys[i - 1], "*", System.IO.SearchOption.AllDirectories).Length;
int countFiles = System.IO.Directory.GetFiles(directorys[i - 1], "*", System.IO.SearchOption.AllDirectories).Length;
if (countDirectory + countFiles == 0)
{
System.IO.Directory.Delete(directorys[i - 1]);
}
}
}
public static string[] GetDirectoriesRelativePath(string path, string searchPattern, System.IO.SearchOption searchOption)
{
string[] directories = System.IO.Directory.GetDirectories(path, searchPattern, searchOption);
for (int i = 0; i < directories.Length; i++)
{
directories[i] = System.IO.Path.GetRelativePath(path, directories[i]);
}
return directories;
}
public static string[] GetFilesRelativePath(string path, string searchPattern, System.IO.SearchOption searchOption)
{
string[] files = System.IO.Directory.GetFiles(path, searchPattern, searchOption);
for (int i = 0; i < files.Length; i++)
{
files[i] = System.IO.Path.GetRelativePath(path, files[i]);
}
return files;
}
public static string GetFileHash(string filePath)
{
FileInfo fileInfo = new FileInfo(filePath);
byte[] hashCode = MD5.Create().ComputeHash(fileInfo.OpenRead());
StringBuilder hashStringBuilder = new StringBuilder();
foreach (byte b in hashCode)
{
hashStringBuilder.AppendFormat("{0:x2}", b);
}
return hashStringBuilder.ToString();
}
}
}