常用的MemoryStream构造函数有以下3种。

1:MemoryStream() 该构造函数初始分配容量大小为0字节,随着数据的不断写入,其容量可以不断的自动扩展。一般在不确定数据内容大小的时候应用这种形式。

2:MemoryStream(byte[]) 和 MemoryStream 的无参数构造函数不同,通过该构造数的 MemoryStream 实例根据 byte 类型的字节数组进行初始化,并且实例的容量大小固定为字节数组的长度。由于实例的容量不能扩展,该构造函数一般用于数据不发生变化的场合。

3:MemoryStream(int capacity) 通过该构造函数创建初始容量大小为 capacity 的实例。并且实例容量大小可扩展。

完整代码如下:

引入命名空间:

using System.IO;

完整代码:

namespace MemoryStreamApp
{  class Program  {  static void Main(string[] args)  {  //构造MemoryStream实例,并输出初始分配容量及使用大小  MemoryStream mem = new MemoryStream();  Console.WriteLine("初始分配容量:{0}" , mem.Capacity);  Console.WriteLine("初始使用量:{0}" , mem.Length);  //将待写入的数据从字符串转换为字节数组  UnicodeEncoding encoder = new UnicodeEncoding();  byte[] bytes = encoder.GetBytes("新增数据");  //向内存流中写入数据  for (int i = 1; i < 4; i++)  {  Console.WriteLine("第{0}次写入新数据", i);  mem.Write(bytes, 0, bytes.Length);  }  //写入数据后 MemoryStream 实例的容量和使用大小  Console.WriteLine("当前分配容量:{0}",mem.Capacity);  Console.WriteLine("当前使用量:{0}",mem.Length);  Console.ReadLine();  }  }
}  

 

该程序运行效果:

转载于:https://www.cnblogs.com/xxxtony/p/7655172.html

C# 使用 MemoryStream 将数据写入内存相关推荐

  1. 时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入

    之前两篇文章笔者分别从TSM File文件存储格式.倒排索引文件存储格式这两个方面对InfluxDB最基础.最底层也最核心的存储模块进行了介绍,接下来笔者会再用两篇文章在存储文件的基础上分别介绍Inf ...

  2. linux下如何查看程序写入内存数据_linux到底如何正确关机

    linux到底如何正确关机,在当时DOS年代关闭DOS系统时,常常是关闭电源开关就可以.而windows在你不爽或者电脑卡住的时候按住电源开关4秒也可以关机.但是linux就不建议大家这样做. 为什么 ...

  3. linux强制将数据写入磁盘,防止丢失内存的数据

    原文https://www.cnblogs.com/python-cat/p/7252112.html sync命令文件系统管理 sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息. 在Lin ...

  4. spark抽取mysql数据到hive_使用spark将内存中的数据写入到hive表中

    使用spark将内存中的数据写入到hive表中 hive-site.xml hive.metastore.uris thrift://master:9083 Thrift URI for the re ...

  5. 【Java-IO】File、搜索删除剪切、字符集、字符编码、字节流、将内存中的数据写入文件、字符流、缓冲流、Scanner、格式化输出、数据流、对象流、序列化与反序列化、Files工具类

    IO 文章目录 IO 简介 File 分隔符.大小写 常用方法 练习:搜索.删除.剪切 字符集(Character Set) 字符编码(Character Encoding) 字符编码比较 乱码 字节 ...

  6. 数据写入规则IBufferWriterT

    IBufferWriter<T>从名字上看大概已经猜到作用,这个接口是在.NET Standard 2.1作为标准支持.那这个接口的实际使用场和作用是什么?在了解之前先看一下System. ...

  7. HBase - 数据写入流程解析

    本文由  网易云 发布. 作者:范欣欣 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 众所周知,HBase默认适用于写多读少的应用,正是依赖于它相当出色的写入性能:一个100台RS的集群可以轻 ...

  8. python把数据写入excel_Python向excel中写入数据的方法

    Python向excel中写入数据的方法 最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 x ...

  9. rdd数据存内存 数据量_「大数据」(七十七) Spark之IO机制

    [导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[77]篇文章,欢迎阅读和收藏] 1 基本概念 与传统的 IO 相比, Spark IO 有很大区别.传统的数据存在单个计算 ...

最新文章

  1. 常见的表死锁情况及解决方法
  2. android实现博客app,如何从零实现一个你的个人博客Android App?
  3. 预处理命令[#define]说明
  4. JavaScript中的原型继承原理
  5. 【Pytorch神经网络理论篇】 14 过拟合问题的优化技巧(一):基本概念+正则化+数据增大
  6. SpringBoot指南(八)——SpringBoot整合Redis
  7. php error_log记录日志的使用方法和配置 (日志目录一定要手动创建)
  8. 计算机科学型,函数计算器1005B学生专用 多功能计算机科学函数型
  9. 大数据自学全套教程,免费分享,赶紧码起来!(纯干货系列)
  10. js字符串时间格式与中国标准时间格式相互转换
  11. 【无标题】c语言指针2333
  12. 微信小程序云调用security.mediaCheckAsync接口成功实例(内容安全审核接口)
  13. Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
  14. bm29 bm30 bm4
  15. 计算机课的教学点评,计算机基础学科的教学评价有效方法
  16. maven远程仓库和镜像
  17. 取模运算性质_数学与编程——求余、取模运算及其性质 | 学步园
  18. LWIP的RAW API UDP通信详解(stm32f103---enc28j60)
  19. 三零二计算机网络有限公司,计算机网络技术仿真试题第二套答案3
  20. U930 换字库后WIFI和蓝牙MAC改变的完美修复方法

热门文章

  1. [转]ASP.NET 状态服务 及 session丢失问题解决方案总结
  2. [教官] 目标中关村!偶滴工作日记
  3. 【原】人生的程序公式
  4. “见识”很重要 记一起Oracle的SQL调整
  5. 双核CPU揭密:英特尔/AMD没有告诉你的五项事实【ZZ】
  6. 【测试】软件测试计划的编写
  7. ++操作你还在使用加锁去保证线程的安全吗?确定不了解一下CAS机制?
  8. 彻底解决Eclipse的控制台console按钮非常小
  9. 马斯克的星链计划对互联网有哪些影响?
  10. 前端基础:JavaScript 代码风格指南