Masuit.Tools

開源地址

https://github.com/XiLife-OSPC/Masuit.Tools

包含一些常用的操作類,大都是靜態類,加密解密,反射操作,硬件信息,字符串擴展方法,日期時間擴展操作,大文件拷貝,圖像裁剪,驗證碼等常用封裝。

關於開源協議

除了源代碼,這個開源協議也是比較有趣的一點,當然這也可能只是一個玩笑,畢竟個人開發的,精力有限

請注意:一旦使用本開源項目以及引用了本項目或包含本項目代碼的公司因爲違反勞動法(包括但不限定非法裁員、超時用工、僱傭童工等)在任何法律訴訟中敗訴的,項目作者有權利追討本項目的使用費,或者直接不允許使用任何包含本項目的源代碼!任何性質的外包公司或996公司需要使用本類庫,請聯繫作者進行商業授權!其他企業或個人可隨意使用不受限。

特色功能示例代碼

日誌組件

LogManager.LogDirectory=AppDomain.CurrentDomain.BaseDirectory+"/logs";
LogManager.Event+=info =>
{
//todo:註冊一些事件操作
};
LogManager.Info("記錄一次消息");
LogManager.Error(new Exception("異常消息"));

檢驗字符串是否是Email、手機號、URL、IP地址、身份證號

bool isEmail="[email protected]".MatchEmail();
bool isInetAddress = "114.114.114.114".MatchInetAddress();
bool isUrl = "http://masuit.com".MatchUrl();
bool isPhoneNumber = "15205201520".MatchPhoneNumber();
bool isIdentifyCard = "312000199502230660".MatchIdentifyCard();// 校驗中國大陸身份證號

硬件監測(僅支持Windows)

float load = SystemInfo.CpuLoad;// 獲取CPU佔用率
long physicalMemory = SystemInfo.PhysicalMemory;// 獲取物理內存總數
long memoryAvailable = SystemInfo.MemoryAvailable;// 獲取物理內存可用率
double freePhysicalMemory = SystemInfo.GetFreePhysicalMemory();// 獲取可用物理內存
Dictionary<string, string> diskFree = SystemInfo.DiskFree();// 獲取磁盤每個分區可用空間
Dictionary<string, string> diskTotalSpace = SystemInfo.DiskTotalSpace();// 獲取磁盤每個分區總大小
Dictionary<string, double> diskUsage = SystemInfo.DiskUsage();// 獲取磁盤每個分區使用率
double temperature = SystemInfo.GetCPUTemperature();// 獲取CPU溫度
int cpuCount = SystemInfo.GetCpuCount();// 獲取CPU核心數
IList<string> ipAddress = SystemInfo.GetIPAddress();// 獲取本機所有IP地址
string localUsedIp = SystemInfo.GetLocalUsedIP();// 獲取本機當前正在使用的IP地址
IList<string> macAddress = SystemInfo.GetMacAddress();// 獲取本機所有網卡mac地址
string osVersion = SystemInfo.GetOsVersion();// 獲取操作系統版本
RamInfo ramInfo = SystemInfo.GetRamInfo();// 獲取內存信息

大文件操作

FileStream fs = new FileStream(@"D:\boot.vmdk", FileMode.OpenOrCreate, FileAccess.ReadWrite);
{
//fs.CopyToFile(@"D:\1.bak");//同步複製大文件
fs.CopyToFileAsync(@"D:\1.bak");//異步複製大文件
string md5 = fs.GetFileMD5Async().Result;//異步獲取文件的MD5
}

任意進制轉換

NumberFormater nf = new NumberFormater(36);//內置2-62進制的轉換
//NumberFormater nf = new NumberFormater("0123456789abcdefghijklmnopqrstuvwxyz");// 自定義進制字符,可用於生成驗證碼
string s36 = nf.ToString(12345678);
long num = nf.FromString("7clzi");
Console.WriteLine("12345678的36進制是:" + s36); // 7clzi
Console.WriteLine("36進制的7clzi是:" + num); // 12345678

多線程後臺下載

var mtd = new MultiThreadDownloader("https://attachments-cdn.shimo.im/yXwC4kphjVQu06rH/KeyShot_Pro_7.3.37.7z",Environment.GetEnvironmentVariable("temp"),"E:\\Downloads\\KeyShot_Pro_7.3.37.7z",8);
mtd.Configure(req =>
{
req.Referer = "https://masuit.com";
req.Headers.Add("Origin", "https://baidu.com");
});
mtd.TotalProgressChanged+=(sender, e) =>
{
var downloader = sender as MultiThreadDownloader;
Console.WriteLine("下載進度:"+downloader.TotalProgress+"%");
Console.WriteLine("下載速度:"+downloader.TotalSpeedInBytes/1024/1024+"MBps");
};
mtd.FileMergeProgressChanged+=(sender, e) =>
{
Console.WriteLine("下載完成");
};
mtd.Start();//開始下載
//mtd.Pause(); // 暫停下載
//mtd.Resume(); // 繼續下載

往期推薦

有了這個開源項目,分分鐘搞定第三方授權登錄!

推薦:股票走勢圖這個開源項目就夠了!

Github這5個沙雕項目,征服了我的膝蓋!

推薦:Github必裝的3款插件

回覆   【關閉】 學關閉微信朋友圈廣告

回覆   【實戰】 獲取20套實戰源碼

回覆   【福利】 獲取最新微信支付有獎勵

回覆   【被刪】 學查看你哪個好友刪除了你巧

回覆   【聊天記錄】 學備份/恢復聊天記錄

回覆   【訪客】 學微信查看朋友圈訪客記錄

回覆   【卡通】 學制作微信卡通頭像

回覆 【python】 學微獲取全套0基礎Python知識手冊

回覆   【臨時】 獲取臨時接收短信、郵箱驗證碼網址列表

相關文章