不能设置文件起始读取写入的位置吗?很多语言都有啊,基本要求嘛C#竟然没有,令人faint!不过,写入倒是可以不覆盖的...

解决方案 »

  1.   

    >> 不能设置文件起始读取写入的位置吗?很多语言都有啊,基本要求嘛
    “位置”和“行”是两个完全不同的概念。
    如果说定位到文件的第n各字节位置,那时可以的:FileStream::Seek/Position可以做到;但如果说是“行”就不行了,行是根据"\n"或者"\r\n"区分的,不读到n次这些字符,怎么可能知道那历史第n行的开始呢?据我所知,C/C++里好像也没有直接实现这种要求的方法吧?>> 不过,写入倒是可以不覆盖的...
    一般“写”只可能有两种模式,1) 覆盖写,即覆盖原先的内容。2) 追加写,即在原先的内容之后添加新的内容,原来的内容保留。
    如果要实现插入写,那么底层的系统必须负责把插入点之后的内容整体移动,处于效率的关系,不太会有语言实现这种操作。
    FileStream好像是没有的,不知道你说的方法是哪一个...
      

  2.   

    to  qqchen79(知秋一叶) 1.看来我没说清楚:其实现在是这样,我有一个配置文件,比如有100行,需要向其中写入一些新的信息,但是必须写入某个标识下面,而次此标识在第50行,也就是说我要从第50行写起,如何实现会比较方便2.我说的就是追加......:)
      

  3.   

    配置文件?INI还是XML?
    如果是XML的话,最好的办法是用XmlSerialization,方便多了。
    如果必须用文件读取的话,也是先全部读到内存里在处理比较好。