Commit 4938dcb0 authored by tr's avatar tr

日志查看:优化空日志显示

parent 094093a6
...@@ -31,7 +31,6 @@ namespace Tools.UI ...@@ -31,7 +31,6 @@ namespace Tools.UI
var list = new List<string> { var list = new List<string> {
Encoding.Default.HeaderName.ToUpper(), Encoding.Default.HeaderName.ToUpper(),
Encoding.UTF8.HeaderName.ToUpper(), Encoding.UTF8.HeaderName.ToUpper(),
Encoding.ASCII.HeaderName.ToUpper(),
}; };
this.tscbEncoding.Items.AddRange(list.Distinct().ToArray()); this.tscbEncoding.Items.AddRange(list.Distinct().ToArray());
this.tscbEncoding.SelectedIndex = 0; this.tscbEncoding.SelectedIndex = 0;
...@@ -133,14 +132,15 @@ namespace Tools.UI ...@@ -133,14 +132,15 @@ namespace Tools.UI
if (token.IsCancellationRequested) if (token.IsCancellationRequested)
return; return;
//读取日志内容 //读取日志内容
var buffer = new byte[1024]; var initLength = 1024;
var buffer = new byte[initLength];
var fs = new FileStream($@"{this.LogPath}\{fileName}", FileMode.Open, FileAccess.Read); var fs = new FileStream($@"{this.LogPath}\{fileName}", FileMode.Open, FileAccess.Read);
//初始化进度条 //初始化进度条
this.AsyncUI(() => { this.AsyncUI(() => {
this.progressBar1.Maximum = Math.Max(1, (int)(fs.Length / 1024)); this.progressBar1.Maximum = Math.Max(1, (int)(fs.Length / initLength));
this.progressBar1.Value = 0; this.progressBar1.Value = 0;
}); });
StringBuilder sb = new StringBuilder(1024); StringBuilder sb = new StringBuilder(initLength);
while (fs.Read(buffer, 0, buffer.Length) > 0) while (fs.Read(buffer, 0, buffer.Length) > 0)
{ {
this.AsyncUI(() => this.AsyncUI(() =>
...@@ -151,7 +151,14 @@ namespace Tools.UI ...@@ -151,7 +151,14 @@ namespace Tools.UI
sb.Append(encode.GetString(buffer)); sb.Append(encode.GetString(buffer));
} }
//显示日志内容 //显示日志内容
this.AsyncUI(() => this.textBox1.Text = sb.ToString()); this.AsyncUI(() => {
this.textBox1.Text = sb.ToString();
if (this.textBox1.Text.Length == 0)
{
this.progressBar1.Value = this.progressBar1.Maximum;
this.textBox1.Text = "***该日志文件为空***";
}
});
//释放资源 //释放资源
sb.Clear(); sb.Clear();
fs.Close(); fs.Close();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment