C#学习教程:使用滚动条逐块读取文本文件我特别挖掘了STACKOVERFLOW!原来有14种方法,但没有一种是完整的!在过去的两天里,我一直在研究这个,并测试了14种方法。例如:privatevoidmethod(){FileStreamFS=newFileStream(path,FileMode.Open,FileAccess.ReadWrite);intFSBytes=(int)FS.Length;int块大小=24;byte[]B=newbyte[ChunkSize];国际职位;对于(Pos=0;Pos<(FSBytes-ChunkSize);Pos+=ChunkSize){FS.Read(B,0,ChunkSize);字符串内容=System.Text.Encoding.Default.GetString(B);richTextBox1.Text=内容=;}B=新字节[FSBytes-Pos];FS.Read(B,0,FSBytes-Pos);字符串content2=System.Text.Encoding.Default.GetString(B);richTextBox1Text=内容2;FS.Close();FS.Dispose();}一个5mb的文本文件耗时太长,怎么办?这是每个流读取文本文件以执行您想要执行的操作的工作示例。我用一个100MB的文本文件对其进行了测试,它工作正常,但您必须查看更大的文件是否也能正常工作。这是一个例子。只需将RichTextBox带到窗体和VScrollBar中即可。然后使用硬盘“C:”上的“test.txt”文件。以上就是C#学习教程:通过滚动条逐块读取文本文件的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——publicpartialclassForm1:Form{constintPAGE_SIZE=64;//在字符中intposition=0;//在流中的位置publicForm1(){InitializeComponent();}privatevoidvScrollBar1_Scroll(objectsender,ScrollEventArgse){position=e.NewValue*PAGE_SIZE;读取文件(位置);}privatevoidReadFile(intposition){使用(StreamReadersr=newStreamReader(@"C:test.txt")){char[]chars=newchar[PAGE_SIZE];sr.BaseStream.Seek(position,sr.Read(chars,0,PAGE_SIZE);stringtext=newstring(chars);richTextBox1.Text=text;}}privatevoidForm1_Load(objectsender,EventArgse){ReadFile(位置);}本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处:
