在C#中为文件保留2个文件夹作为文件内容的索引

时间:2015-12-23 07:07:40

标签: c# file filestream file-handling

我们创建Fstream1,打开文件并存储文件的开头。 现在我们将fstream1复制到fstream2。

注意:fstream1将向上读取文件,而fstream2将向下读取文件。

在向上或向下阅读大量数据之前,相应的fstream*必须记住初始开始位置。

问题是当我们读到两个fstream的位置正在移动导致失去意图存储的位置时。

示例:考虑初始fstream1.pos = 500& fstream2.pos =500。现在,如果我读取超过200个字符fstream1.pos=300fstream2.pos应保持为500,则在我们的情况下,fstream2.pos也会变为300。 同样,如果我向下读。

fileStream1 = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 1, true);
fileStream2 = filestream1; // want this but without opening the file again

考虑到filestream与C ++中的filepointers类似。 注意:上面的任务是在C#中。

1 个答案:

答案 0 :(得分:1)

假设您要在文件上向上或向下扫描以更快地找到文件中的位置,我建议: -

1)打开文件一次。

2)保留两个变量 - UpPointer& DownPointer并将它们初始化为UpPointer = DownPointer = 500(来自您的示例)。

3)进行读取或扫描时,更新相应的指针。