while(count > 0)
{
count=fs.Read(Docbuffer,0,2048);
sb.Append(Encoding.Default.GetString(Docbuffer));
}
这段代码不对。
如果文件里的内容大于2048个字节似乎没问题
如果文件里的内容正好是2048,sb 实际会添加相同的内容2遍
如果文件里的内容小于2048呢?还是要重复的。
重复了当然速度就不快了。
楼主拿个小文件实验先
{
count=fs.Read(Docbuffer,0,2048);
sb.Append(Encoding.Default.GetString(Docbuffer));
}
这段代码不对。
如果文件里的内容大于2048个字节似乎没问题
如果文件里的内容正好是2048,sb 实际会添加相同的内容2遍
如果文件里的内容小于2048呢?还是要重复的。
重复了当然速度就不快了。
楼主拿个小文件实验先
解决方案 »
- .net下类似 spring框架有么?
- C# 算法二叉树 问题,急!谢谢帮助!!!
- 有没有办法获取datagridview鼠标悬停位置的行索引?
- (急) 如何取值
- 请问在c#下面如何编写图象扫描程序
- 请问如何控制关闭其他程序?关闭程序带有确认窗口,动态窗口名
- 如何实现点击radiobutton控件的隐藏技术(无刷新的)?
- ~~~~~~~~~~~~~~~~~~正宗思归题,不见得思归就能回答!~~~~~~~~~~~~~~~~~~~~~~~~~~~`````
- 孤单单的27岁生日(1977-10-16)散分庆祝。
- HELP ME 简单问题:Update时出错
- 如何获取当前鼠标的在窗口中的位置?
- 求救!
public string ReadData(string fn,string Ecd)//读文件
{
string rlt = "";
StreamReader Sr = new StreamReader(File.OpenRead(fn),Encoding.GetEncoding(Ecd));
rlt = Sr.ReadToEnd();
Sr.DiscardBufferedData();
Sr.Close();
return rlt;
}
我那样分,总是读不到最后一段内容
17.1 MB (17,969,435 字节)
private void btnOpenFile_Click(object sender, System.EventArgs e)
{
long dt=DateTime.Now.Ticks; if(openFileDialog.ShowDialog()==DialogResult.OK)
{
txt_filename.Text=openFileDialog.FileName;
}
FileInfo fi=new FileInfo(txt_filename.Text);
if(fi.Exists)
{
StringBuilder str=new StringBuilder();
FileStream fs=new FileStream(txt_filename.Text,FileMode.Open,FileAccess.Read); byte[] Docbuffer=new byte[2048]; int count=fs.Read(Docbuffer,0,2048);
while(count>0)
{
Docbuffer = new byte[2048];
count = fs.Read(Docbuffer,0,count);
}
fs.Close(); }}