日期:2014-05-17  浏览次数:20830 次

请问,读取文件字节
我把一个文件读入数据库,在进度条中显示进度

首选获取文件的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楼和六楼已经把说出了答案
------解决方案--------------------
你没有明白你要干什么。