日期:2014-05-17  浏览次数:21077 次

C#中,如何在FileStream中插入字符?
最近想自己做一个电子书阅读器。
在把某个TXT文件排版前,想先简单地按字数把文件分个页(其实就是简单地隔开方便后面处理)。

代码如下:

        /// <summary>
        /// 自动加页码分隔
        /// </summary>
        /// <param name="多少个字一页"></param>
        /// <param name="文件路径"></param>
        private void Int_Config(int Words,string Path)
        {
            //1.开一个文件流
            FileStream fs = new FileStream(Path, FileMode.Open, FileAccess.ReadWrite);

            //如果字数达到有必要分页的标准
            if (fs.Length > Words)
            {

                //2.利用流来修改文本
                int num = 0;
                for (long i = Words; i <= fs.Length - 1; i += Words)
                {
                    //i.规定插入的页码数字
                    num++;

                    //ii.需要输入的内容(想要的效果:页码数字+空一行)
                    string InPut = "\r\n" + num.ToString() + "\r\n" + "\r\n";

                    //iii.转化成字节内容
                    byte[] InByte = Encoding.Default.GetBytes(InPut);

                    //iv.将所有内容写入指定位置
                    fs.Seek(i, SeekOrigin.Begin);
                    fs.Write(InByte, 0,InByte.Length);

                    //v.修改当前位置和末尾
                    i = i + 7;
                    fs.SetLength(fs.Length + 7);
                }
   &nb