内存流的读写

using System;

using System.Collections.Generic;

using System.Text;

using System.IO;

namespace 内存流的读写

{

    class Program

    {

        static void Main(string[] args)

        {

            MemoryStream st = new MemoryStream(1024);//新建内存流

            BinaryWriter bw = new BinaryWriter(st);//新建二进制写入控件,与内存流关联

            Random rand = new Random();//新建随机数

            for (int i = 0; i < 10; i++)

            {

                bw.Write(rand.NextDouble());//写入10个随机数

            }

            st.Seek(0, SeekOrigin.Begin);//把流移到最开始的位置

            BinaryReader br = new BinaryReader(st);//新建二进制读取器,与内存流关联

            for (int j = 0; j < 10; j++)

            {

                Console.WriteLine(br.ReadDouble());//读取二进制

 

            }

            br.Close();

            st.Close();

            bw.Close();

            Console.ReadKey();

 

 

 

            MemoryStream st1 = new MemoryStream(1000);//新建内存流

           BinaryWriter  bw1 = new BinaryWriter (st1);//与二进制写入器关联

            bw1.Write("length-prefixed string");//将字符串写入内存流

 

 

            char[] buffer = new char[1024];//字符串数组,作为临时缓冲区

            String s = "13 Characters";//定义一个字符串

            s.CopyTo(0, buffer, 0, 13);//将字符串拷贝到缓冲区

            bw1.Write(buffer, 0, 13);//将字符串写入内存流

            bw1.Write(buffer, 0, 13);//重复写入流

 

            st1.Seek(0,SeekOrigin.Begin);//流回到开始的位置

            BinaryReader br1 = new BinaryReader(st1);//新建二进制读取器与内存流关联

            Console.WriteLine(br1.ReadString());//读取内存流数

            Console.ReadKey();

 

          

            br1.Read(buffer, 0, 13);//用内存读取器直接读取缓冲区中的数据

            s = new String(buffer, 0, 13);

            Console.WriteLine(s);

            Console.ReadKey();

 

            s = new String(br1.ReadChars(13));//用读取内存流中的数据

            Console.WriteLine(s);

            Console.ReadKey();

        }

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值