C# 随机读写入文件

先来代码再解释

     public Worker(string path)
        {
            FileStream fs = new FileStream(
                path,
                FileMode.OpenOrCreate,
                FileAccess.Write,
                FileShare.Read,
                20480,
                FileOptions.RandomAccess);

            string hello = "hello ";
            string word = "word";

            byte[] b = Encoding.ASCII.GetBytes(hello);
            byte[] w = Encoding.ASCII.GetBytes(word);

            fs.Seek(b.LongLength + 2, SeekOrigin.Begin);
            fs.Write(w, 0, w.Length);

            fs.Seek(0, SeekOrigin.Begin);
            fs.Write(b, 0, b.Length);

            fs.Close();


        }

其中比较关键的是 Seek 函数的使用 ,微软给出的解释 将该流的当前位置设置为给定值

第二个值也很关键 SeekOrigin 一个枚举类型,

 

public enum SeekOrigin
    {
        // 摘要:
        //     指定流的开头。
        Begin = 0,
        //
        // 摘要:
        //     指定流内的当前位置。
        Current = 1,
        //
        // 摘要:
        //     指定流的结尾。
        End = 2,
    }

Current 这个值的意思不是很理解,知道的亲们,劳烦解释一下。

当然,这个例子只是随机写入的,随机读取的也就是把函数名换成 Read ,别的几乎都是一模一样的.

posted @ 2013-07-03 21:52  任跃兵  阅读(1412)  评论(0编辑  收藏  举报
总访问量: