From 7901b7012b23d9ae2515eeb0e5e712c309c6d8de Mon Sep 17 00:00:00 2001 From: walon Date: Wed, 23 Feb 2022 12:37:00 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91Luban.Clien?= =?UTF-8?q?t=E5=86=99=E5=85=A5=E7=94=9F=E6=88=90=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=97=B6=E4=BD=BF=E7=94=A8=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=9A=84WriteFileAllBytes=EF=BC=8C=E5=8D=B3=E4=BD=BF=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=A2=AB=E5=8D=A0=E7=94=A8=E6=83=85=E5=86=B5=E4=B8=8B?= =?UTF-8?q?=E4=B9=9F=E8=83=BD=E5=86=99=E5=85=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Luban.Common/Source/Utils/FileUtil.cs | 37 ++++++----------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/src/Luban.Common/Source/Utils/FileUtil.cs b/src/Luban.Common/Source/Utils/FileUtil.cs index ea225e6..e1a4435 100644 --- a/src/Luban.Common/Source/Utils/FileUtil.cs +++ b/src/Luban.Common/Source/Utils/FileUtil.cs @@ -65,19 +65,6 @@ namespace Luban.Common.Utils return !fname.StartsWith('.') && !fname.StartsWith('_') && !fname.StartsWith('~'); } - [ThreadStatic] - private static MD5 s_cacheMd5; - - private static MD5 CacheMd5 - { - get - { - var md5 = s_cacheMd5 ??= MD5.Create(); - md5.Clear(); - return md5; - } - } - public static string CalcMD5(byte[] srcBytes) { using MD5 md5 = MD5.Create(); @@ -135,19 +122,6 @@ namespace Luban.Common.Utils Directory.GetParent(outputPath).Create(); if (File.Exists(outputPath)) { - //if (CheckFileNotChange(outputPath, content)) - //{ - // s_logger.Trace("[not change] {file}", outputPath); - // return; - //} - //else - //{ - // s_logger.Info("[override] {file}", outputPath); - // if (File.GetAttributes(outputPath).HasFlag(FileAttributes.ReadOnly)) - // { - // File.SetAttributes(outputPath, FileAttributes.Normal); - // } - //} s_logger.Info("[override] {file}", outputPath); if (File.GetAttributes(outputPath).HasFlag(FileAttributes.ReadOnly)) { @@ -159,7 +133,7 @@ namespace Luban.Common.Utils s_logger.Info("[new] {file}", outputPath); } - await File.WriteAllBytesAsync(outputPath, content); + await WriteAllBytesAsync(outputPath, content); } public static async Task ReadAllBytesAsync(string file) @@ -192,6 +166,15 @@ namespace Luban.Common.Utils return bytes; } + public static async Task WriteAllBytesAsync(string file, byte[] bytes) + { + using var fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite); + long count = bytes.LongLength; + fs.SetLength(count); + fs.Seek(0, SeekOrigin.Begin); + await fs.WriteAsync(bytes); + } + public static void DeleteDirectoryRecursive(string rootDir) { string[] files = Directory.GetFiles(rootDir);