请问,读取文件字节
我把一个文件读入数据库,在进度条中显示进度
首选获取文件的Length,并赋值给进度条的最大值:
progressBar1.Maximum = Convert.ToInt32(fs_文件.Length);
然后,在读取的过程中:
while ((line = streamreader.ReadLine()) != null) //逐行读,并判断是否读到结尾
{
i_进度 += Convert.ToInt32(line.Length);
backgroundWorker1.ReportProgress(i_进度);
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage; //进度条获取值
}
可是,最后读完了,进度条都还没有达到最大值呢?是什么原因?也就是说读取的长度并不等于文件的总长度
------解决方案--------------------i_进度 += 1;
------解决方案--------------------line.Length是那行内容的长度了啊
------解决方案--------------------
progressBar1.Maximum = Convert.ToInt32(File.ReadAllLines("xx.txt").Length);
总行数。
------解决方案--------------------
streamreader.ReadLine()不会读取换行符,你这样统计少了换行符的长度,所以进度度不能直到%100
------解决方案--------------------字符串内容长度跟字节长度不是一个概念
------解决方案--------------------5楼和六楼已经把说出了答案
------解决方案--------------------你没有明白你要干什么。