位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# FileStream 对象 —— 文件位置

提问人:刘团圆发布时间:2020-12-10

    FileStream类维护内部文件指针,该指针指向文件中进行下一次读写操作的位置。大多数情况下,当打开文件时,它就指向文件的开始位置,但是可以修改此指针。这允许应用程序在文件的任何位置读写,随机访问文件,或直接跳到文件的特定位置上。当处理大型文件时,这非常省时,因为马上就可以找到正确位置。

    实现此功能的方法是SeekO方法,它有两个参数:第一个参数指定文件指针移动距离(以字节为单位)。第二个参数指定开始计算的起始位置,用&ekOrigin枚举的一个值表示。SeekOrigin枚举包含3个值:Begin、Crnrent 和 End。

例如,下面的代码行将文件指针移到文件的第8个字节处,其起始位置就是文件的第1个字节:

    aFile.Seek(8, SeekOrigin.Begin);

下面的代码行将文件指针从当前位置开始向前移动2个字节。如果在上面的代码行之后执行下面的代码,文件指针就指向文件的第10个字节:

    aFile,Seek{2, SeekOrigin,Current);

注意读写文件时,文件指针会随之改变。在读取了10个字节之后,文件指针就指向被读取的第10个字节之后的字节。

也可以指定负查找位置,这可与SeekOrigin.End枚举值一起使用,查找靠近文件末端的位置。下面的代码会查找文件中的倒数第5个字节:

    aFile.Seek(-5, SeekOrigin.End);

采用这种方式访问的文件有时称为随机访问文件,因为应用程序可以访问文件中的任何位置。稍后介绍的StreamReader和StreamWriter类可连续访问文件,但不允许以这种方式操作文件指针。


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部