iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#中怎么利用MemoryStream类对内存进行读写
  • 920
分享到

C#中怎么利用MemoryStream类对内存进行读写

2023-06-17 13:06:18 920人浏览 薄情痞子
摘要

C#中怎么利用MemoryStream类对内存进行读写,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。读写内存-MemoryStream类MemoryStream类用于向内存

C#中怎么利用MemoryStream类对内存进行读写,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

读写内存-MemoryStream类

MemoryStream类用于向内存而不是磁盘读写数据。MemoryStream封装以无符号字节数组形式存储的数据,该数组在创建MemoryStream对象时被初始化,或者该数组可创建为空数组。可在内存中直接访问这些封装的数据。内存流可降低应用程序中对临时缓冲区和临时文件的需要。下表列出了MemoryStream类的重要方法:

Read():读取MemoryStream流对象,将值写入缓存区。

ReadByte():从MemoryStream流中读取一个字节。

Write():将值从缓存区写入MemoryStream流对象。

WriteByte():从缓存区写入MemoytStream流对象一个字节。

Read方法使用的语法如下:

mmstream.Read(byte[] buffer,offset,count)

其中mmstream为MemoryStream类的一个流对象,3个参数中,buffer包含指定的字节数组,该数组中,从offset到(offset +count-1)之间的值由当前流中读取的字符替换。Offset是指Buffer中的字节偏移量,从此处开始读取。Count是指最多读取的字节数。Write()方法和Read()方法具有相同的参数类型。

MemoryStream类的使用实例:

using System;  using System.io;  using System.Text;  class program{  static void Main()  {  int count;  byte[] byteArray;  char[] charArray;  UnicodeEncoding uniEncoding=new UnicodeEncoding();  byte[] firstString=uniEncoding.GetBytes("努力学习");  byte[] secondString=uniEncoding.GetBytes("不做C#中的菜鸟");  using (MemoryStream memStream=new MemoryStream(100))  {  memStream.Write(firstString,0,firstString.Length);  count=0;  while(count<secondString.Length)  {  memStream.WriteByte(secondString[count++]);  }  Console.WriteLine("Capacity={0},Length={1},Position={2}\n",memStream.Capacity.ToString(),memStream.Length.ToString(),memStream.Position.ToString());  memStream.Seek(0, SeekOrigin.Begin);  byteArray=new byte[memStream.Length];  count=memStream.Read(byteArray,0,20);  while(count<memStream.Length)  {  byteArray[count++]=Convert.ToByte(memStream.ReadByte());  }  charArray=new char[uniEncoding.GetCharCount(byteArray,0,count)];  uniEncoding.GetDecoder().GetChars(byteArray,0,count,charArray,0);  Console.WriteLine(charArray);  Console.ReadKey();  }  }  }

在这个实例代码中使用了using关键字。注意:

using 关键字有两个主要用途:

作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。

例如:

using System;

作为语句,用于定义一个范围,在此范围的末尾将释放对象。

using(Connection conn=new Connection(connStr))  {  }  //使用using关键字可及时销毁对象

MemoryStream.Capacity 属性 取得或设定配置给这个资料流的位元组数目。

MemoryStream.Position 属性 指定当前流的位置。

MemoryStream.Length 属性获取用字节表示的流长度。

SeekOrigin()是一个枚举类,作用设定流的一个参数。

SeekOrigin.Begin我得理解就是文件的最开始,“0”是偏移,表示跳过0个字节。写2就是跳过2个字节。

MemoryStream类通过字节读写数据。本例中定义了写入的字节数组,为了更好的说明Write和WriteByte的异同,在代码中声明了两个byte数组,其中一个数组写入时调用Write方法,通过指定该方法的三个参数实现如何写入。

另一个数组调用了WriteByte方法,每次写入一个字节,所以采用while循环来完成全部字节的写入。写入MemoryStream后,可以检索该流的容量,实际长度,当前流的位置,将这些值输出到控制台。通过观察结果,可以确定写入MemoryStream流是否成功。

调用Read和ReadByte两种方法读取MemoryStream流中的数据,并将其进行Unicode编码后输出到控制台。

关于C#中怎么利用MemoryStream类对内存进行读写问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: C#中怎么利用MemoryStream类对内存进行读写

本文链接: https://www.lsjlt.com/news/289217.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中怎么利用MemoryStream类对内存进行读写
    C#中怎么利用MemoryStream类对内存进行读写,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。读写内存-MemoryStream类MemoryStream类用于向内存...
    99+
    2023-06-17
  • 怎么利用纯C语言对EXCEL进行读写操作
    本文小编为大家详细介绍“怎么利用纯C语言对EXCEL进行读写操作”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么利用纯C语言对EXCEL进行读写操作”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、写操作单纯...
    99+
    2023-07-02
  • C#中怎么对内存进行操作
    C#中怎么对内存进行操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。引用System.Runtime.InteropServices命名空间。该命名空间下的Marshal...
    99+
    2023-06-17
  • C#使用NPOI对word进行读写
    目录一、简介操作Word的类库:二、简单使用1、XWPFDocument类的实例化2、设置页面的大小3、段落处理4、表格处理5、页眉页脚处理三、综合示例四、参考一、简介 操作Word...
    99+
    2024-04-02
  • C#中怎么对ini文件进行读写操作
    本篇文章为大家展示了C#中怎么对ini文件进行读写操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C#读写ini文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每...
    99+
    2023-06-18
  • c语言怎么对文件进行读写
    C语言提供了一组文件操作函数,用于打开、读、写和关闭文件。下面是一个简单的示例,演示了如何对文件进行读写。1. 打开文件:```c#...
    99+
    2023-09-27
    c语言
  • 利用java怎么对文件目录进行读写删除
    利用java怎么对文件目录进行读写删除?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一.获得控制台用户输入的信息public String getInputMessage() ...
    99+
    2023-05-31
    java ava
  • 怎么在Android中利用LeakCanary对内存泄漏进行排查
    今天就跟大家聊聊有关怎么在Android中利用LeakCanary对内存泄漏进行排查,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在 build.gralde 里加上依赖, 然后sy...
    99+
    2023-05-31
    android 内存泄漏 leakcanary
  • C#如何使用NPOI对word进行读写
    这篇文章主要介绍了C#如何使用NPOI对word进行读写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#如何使用NPOI对word进行读写文章都会有所收获,下面我们一起来看看吧。一、简介操作Word的类库:N...
    99+
    2023-07-02
  • 怎么在Android中利用ClassLoader对类进行加载
    本篇文章给大家分享的是有关怎么在Android中利用ClassLoader对类进行加载,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的类加载设计了一套双亲代理的模式,使...
    99+
    2023-05-31
    classloader android roi
  • C#中怎么进行文件的读写操作
    在C#中进行文件的读写操作,可以使用FileStream、StreamReader和StreamWriter这几个类。下面是一个简单...
    99+
    2024-04-03
    C#
  • C#中怎么利用FileStream对文件进行操作
    C#中怎么利用FileStream对文件进行操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C# FileStream写文件的操作实例:///先导入命名空间:...
    99+
    2023-06-17
  • nodejs中怎么对json文件进行读写操作
    nodejs中怎么对json文件进行读写操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。nodejs 读json文件var&...
    99+
    2024-04-02
  • Python中怎么对docx文件进行读写操作
    这期内容当中小编将会给大家带来有关Python中怎么对docx文件进行读写操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。演示文本为了方便理解,我们以 python-docx.docx 文件为例,演示如...
    99+
    2023-06-16
  • php怎么对内存进行调整
    PHP是一种广泛使用的开源服务器端脚本语言,主要用于创建动态网页。在使用PHP时,可能会面临内存不足的问题,这时候我们就需要对内存进行调整。本文将介绍如何修改PHP的内存以提高脚本的性能。确定PHP.ini文件首先,需要找到PHP.ini文...
    99+
    2023-05-14
    php
  • 怎么对docker内存进行监控
    怎么对docker内存进行监控?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一直运行的docker容器显示内存已经耗尽,并且容器内存耗尽也没出现重启情况,通过后台查看发现进程没...
    99+
    2023-06-14
  • 怎么在python中使用Pandas对MySQL数据库进行读写
    本篇文章给大家分享的是有关怎么在python中使用Pandas对MySQL数据库进行读写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、read_sql_query 读取 m...
    99+
    2023-06-14
  • 怎么用C#中File静态类对文件的读取写入
    这篇文章主要介绍“怎么用C#中File静态类对文件的读取写入”,在日常操作中,相信很多人在怎么用C#中File静态类对文件的读取写入问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C#中File静态类对文...
    99+
    2023-06-30
  • 使用R语言怎么对二进制文件进行读写
    这篇文章将为大家详细讲解有关使用R语言怎么对二进制文件进行读写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。二进制文件是一个文件,其中包含仅以位和字节形式存储的信息(0和1),它们是不可读的...
    99+
    2023-06-08
  • 怎么在python中使用StringIO进行读写
    怎么在python中使用StringIO进行读写?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作