feat: 初始化 fl-knowledge 仓库 - 防雷项目源码

This commit is contained in:
chengkai3
2026-06-06 08:03:01 +08:00
commit 3726b404c4
99 changed files with 44754 additions and 0 deletions
+145
View File
@@ -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();
}
}