Package Description
$ dotnet add package Hanson.Common.FileUtils此專案採用的 License為 Apache-2.0
命名空間
using Hanson.Common.Utils;
private void Sample()
{
string src = @"C:\temp";
string file = "test.txt";
// 唯讀方式取得檔案內容
string content = FileUtils.ReadFileContent(Path.Combine(src, file));
Console.WriteLine($"唯讀方式取得檔案內容: {content}");
// 讀取指定目錄下所有檔案完整路徑
string[] fileNames = FileUtils.ReadFilePathRecursively(src);
Console.WriteLine($"唯讀方式取得檔案內容: {string.Join(",", fileNames)}");
// 複製指定目錄下所有資料夾內容及檔案
FileUtils.CopyFilesRecursively(src,dest);
}
private void Sample()
{
//檔案來源
string src = @"C:\temp\test.txt";
string hashMD5 = FileUtils.CalculateMD5(src);
Console.WriteLine($"MD5 檔案雜湊碼: {hashMD5}");
string hashSHA1 = FileUtils.CalculateSHA1(src);
Console.WriteLine($"SHA1 檔案雜湊碼: {hashSHA1}");
string hashSHA256 = FileUtils.CalculateSHA256(src);
Console.WriteLine($"SHA256 檔案雜湊碼: {hashSHA256}");
string hashSHA384 = FileUtils.CalculateSHA384(src);
Console.WriteLine($"SHA384 檔案雜湊碼: {hashSHA384}");
string hashSHA512 = FileUtils.CalculateSHA512(src);
Console.WriteLine($"SHA512 檔案雜湊碼: {hashSHA512}");
}
private static void Sample()
{
string key = "key";
string value = "value";
// 寫入 PList 資料
bool status = FileUtils.WritePList(key, value);
Console.WriteLine($"PList 寫入狀態: {status}");
// 讀取 key 的 PList 資料
PList data = FileUtils.ReadPList(key);
Console.WriteLine($"PList 讀出內容: key:{data.Key}, value:{data.Value}, time:{data.Timestamp.ToDateTime()}");
// 讀取所有 PList 資料
PList[] datas = FileUtils.ReadPLists();
foreach (var item in datas)
{
Console.WriteLine($"PList 讀出內容: key: {item.Key} , value: {item.Value} , time: {item.Timestamp.ToDateTime()}");
}
// 刪除 key 的 PList 資料
int count = FileUtils.RemovePList(key);
Console.WriteLine($"刪除 PList 內容的數量: {count}");
}
private void Sample()
{
//建立 ICompress
ICompress compress = CompressFactory.CreateCompress();
// 壓縮 ZIP
string zipSrc = @"C:\temp";
string zpiDest = @"D:\temp\test.zip";
compress.Compress(zipSrc, zpiDest);
// 解壓縮 ZIP
string unzipSrc = @"D:\temp\test.zip";
string unzipDest = @"C:\temp";
compress.UnCompress(unzipSrc, unzipDest);
}
private void Sample()
{
//放置暫存檔的位置
string tempSrc = @"c:\temp";
//檔案主要覆蓋位置
string target = @"c:\target";
//更新檔案來源
string src = @"c:\src";
FileRestorePoint checkPoint = new FileRestorePoint(tempSrc);
try
{
Console.WriteLine($"開始執行檔案備份:{target}");
checkPoint.Establish(target);
Console.WriteLine($"檔案備份完成");
// 還原點設定好後,開始執行的複製作業,若複製失敗會拋出例外訊息
Console.WriteLine($"開始複製檔案,來源位址:{src}、目標位址:{target}");
FileUtils.CopyFilesRecursively(src, target);
Console.WriteLine($"檔案複製完成");
}
catch
{
Console.WriteLine($"檔案複製失敗");
try
{
checkPoint.Restore();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
finally
{
checkPoint.Drop();
checkPoint.Dispose();
}
}