System.IOSystem.IO.FileStream = System.IO.FileStream.Open("myfile")

解决方案 »

  1.   

    使我的表述不够清楚,我并不是问如何打开文件,而是指如何在文件中保存文件的地址,举个例子,现在我有一个bin文档,结构是这样的,前面十个字节保存每条记录在文件中的地址(也就是一张索引表),随后是十条记录,我的问题是,以前在c语言环境下,我可以用long offset = ftell(fp)函数得到当前文件的位置,然后保存这个offset,现在在c#下面如何实现?
    注释表明??的该如何写
    FileStream fs= FileStream.Open("myfile",FileMode.OpenOrCreate,FileAccess.Write);
    StreamWriter sw = new StreamWriter(fs);
    long[] offsetTable = new long [10]; //将前面的10个字节空出来
    sw.BaseStream.Seek(10, SeekOrigin.Begin);
    for (int i = 0; i < 10; i++)
    {
    //得到当前文件的位置
    offsetTable[i] = ?? //此处该如何处理?
    //写入一条记录
    WriteRecord();

    }
    //定位到文件开头,写入offset Table
    sw.BaseStream.Seek(0,SeekOrigin.Begin);
    //写入offset Table
    WriteOffset(offsetTable);