C#中要以二进制方式访问文件,似乎只能通过字节流的方式,有什么办法可以像VB6中一样指定写入/读出位置访问文件?

解决方案 »

  1.   

    public override int Read(char[], int, int);
    第二个参数就是读取位置
      

  2.   

    这问题俺不知道,不过俺认为就算在指定位置读取,也是流操作,只不过在vb6中有现成的方法而已。
    c#
    StreamReader sr=new StreamReader(@"c:\your.txt");
    //sr.Read(chrs,0,9);
    // public override int Read(char[], int, int);
    //这个方法是说 读取由第一个int开始到第二个int结束的字符到char[]中 应该就是你说的
      

  3.   

    FileStream.Position 属性  [C#]请参见
    FileStream 类 | FileStream 成员 | System.IO 命名空间 | 使用 I/O | 从文件读取文本 | 向文件写入文本 | FileStream 成员(Visual J# 语法) | C++ 托管扩展编程 
    要求
    平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版 - Windows CE .NET, 公共语言基础结构 (CLI) 标准
    语言
    C#C++JScriptVisual Basic全部显示
    获取或设置此流的当前位置。[Visual Basic]
    Overrides Public Property Position As Long[C#]
    public override long Position {get; set;}[C++]
    public: __property __int64 get_Position();
    public: __property void set_Position(__int64);[JScript]
    public override function get Position() : long;
    public override function set Position(long);属性值
    此流的当前位置。