Tag: chunk

通过滚动条按块读取文本文件块

嗨我读过这个问题: 阅读非常大的文本文件,我应该合并异步吗? 我特别把STACK OVERFLOW挖了网! 结果是14方法来做到这一点,但没有一个是不完整的! 在最后两天,我正在研究这个并测试和测试了14种方法。 例如 : private void method() { FileStream FS = new FileStream(path, FileMode.Open, FileAccess.ReadWrite); int FSBytes = (int) FS.Length; int ChunkSize = 24; byte[] B = new byte[ChunkSize]; int Pos; for (Pos = 0; Pos < (FSBytes – ChunkSize); Pos += ChunkSize) { FS.Read(B,0 , ChunkSize); string content = System.Text.Encoding.Default.GetString(B); […]

Filestream.Read的返回值是什么意思? 如何以块的forms读取数据并进行处理?

我对C#很新,所以请耐心等待。 我正在读取(使用FileStream)数据(固定大小)到小数组,处理数据然后再读取,依此类推到文件末尾。 我想过用这样的东西: byte[] data = new byte[30]; int numBytesToRead = (int)fStream.Length; int offset = 0; //reading while (numBytesToRead > 0) { fStream.Read(data, offset, 30); offset += 30; numBytesToRead -= 30; //do something with the data } 但我检查了文档及其示例,他们表示上述读取方法的返回值为: “类型:System.Int32读入缓冲区的总字节数。如果该字节数当前不可用 ,则可能小于请求的字节数,如果到达流末尾则为零。” 它们目前不可用是什么意思,这在读取少量数据时是否真的会发生,或者这只是大量数据? 如果只是为了大,大约有多大,因为我也会在其他地方阅读更大的块。 如果这种情况随时可能发生,我应该如何更改代码,以便代码仍能有效执行? 谢谢你的时间和答案。