feat: 初始化 fl-knowledge 仓库 - 防雷项目源码
This commit is contained in:
+145
@@ -0,0 +1,145 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace LP;
|
||||
|
||||
public class MyLog
|
||||
{
|
||||
public static string oldLog = "";
|
||||
|
||||
public static string fileName_Log = "log.txt";
|
||||
|
||||
public static string fileName_Log_everyone = "log_one.txt";
|
||||
|
||||
public static StringBuilder theLog = null;
|
||||
|
||||
public static DateTime theStartTime = DateTime.Now;
|
||||
|
||||
public static DateTime theEndTime = DateTime.Now;
|
||||
|
||||
public static void Init_Log()
|
||||
{
|
||||
if (theLog == null)
|
||||
{
|
||||
theLog = new StringBuilder();
|
||||
}
|
||||
theLog.Clear();
|
||||
oldLog = "";
|
||||
theStartTime = DateTime.Now;
|
||||
}
|
||||
|
||||
public static void Load_Log(string _path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_path) || !Directory.Exists(_path))
|
||||
{
|
||||
return;
|
||||
}
|
||||
string path = _path + "\\" + fileName_Log;
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
return;
|
||||
}
|
||||
Encoding[] array = new Encoding[6]
|
||||
{
|
||||
Encoding.UTF8,
|
||||
Encoding.Default,
|
||||
Encoding.ASCII,
|
||||
Encoding.Unicode,
|
||||
Encoding.UTF7,
|
||||
Encoding.UTF32
|
||||
};
|
||||
int num = 0;
|
||||
bool flag = false;
|
||||
string text = "";
|
||||
for (int i = 0; i < array.Length; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
using FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None);
|
||||
using (StreamReader streamReader = new StreamReader(fileStream, array[i]))
|
||||
{
|
||||
text = streamReader.ReadToEnd().Trim();
|
||||
if (string.IsNullOrEmpty(text) || text.IndexOf("使用时长") >= 0)
|
||||
{
|
||||
num = i;
|
||||
flag = true;
|
||||
}
|
||||
streamReader.Close();
|
||||
}
|
||||
fileStream.Close();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
using FileStream fileStream2 = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None);
|
||||
using (StreamReader streamReader2 = new StreamReader(fileStream2, array[num]))
|
||||
{
|
||||
oldLog = streamReader2.ReadToEnd().Trim();
|
||||
streamReader2.Close();
|
||||
}
|
||||
fileStream2.Close();
|
||||
}
|
||||
|
||||
public static void Save_Log(string _path)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_path) || !Directory.Exists(_path) || string.IsNullOrEmpty(theLog.ToString()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
theEndTime = DateTime.Now;
|
||||
double totalSeconds = (theEndTime - theStartTime).TotalSeconds;
|
||||
int num = (int)(totalSeconds / 3600.0);
|
||||
int num2 = (int)((totalSeconds - (double)(num * 3600)) / 60.0);
|
||||
double num3 = totalSeconds - (double)(num * 3600) - (double)(num2 * 60);
|
||||
string text = "";
|
||||
if (num > 0)
|
||||
{
|
||||
text = text + num + "小时";
|
||||
}
|
||||
if (num > 0 || num2 > 0)
|
||||
{
|
||||
text = text + num2 + "分";
|
||||
}
|
||||
text = text + num3.ToString("F2") + "秒";
|
||||
string path = _path + "\\" + fileName_Log;
|
||||
using FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
|
||||
using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
|
||||
{
|
||||
streamWriter.WriteLine($"本次使用时长={text} {theStartTime} - {theEndTime} ");
|
||||
streamWriter.WriteLine("[ " + theLog.ToString() + " ]");
|
||||
streamWriter.WriteLine();
|
||||
if (!string.IsNullOrEmpty(oldLog))
|
||||
{
|
||||
streamWriter.WriteLine(oldLog);
|
||||
}
|
||||
streamWriter.Close();
|
||||
}
|
||||
fileStream.Close();
|
||||
}
|
||||
|
||||
public static void AddLog(string msg)
|
||||
{
|
||||
theLog.Append(msg + "\r\n");
|
||||
AddLog_EveryOne(msg);
|
||||
}
|
||||
|
||||
public static void AddLog_EveryOne(string msg)
|
||||
{
|
||||
string text = Application.StartupPath + "\\" + FormDesktop.mSubPath_Primary;
|
||||
string path = text + "\\" + fileName_Log_everyone;
|
||||
using FileStream fileStream = new FileStream(path, FileMode.Append, FileAccess.Write, FileShare.None);
|
||||
using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
|
||||
{
|
||||
streamWriter.WriteLine(msg);
|
||||
streamWriter.Close();
|
||||
}
|
||||
fileStream.Close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user