MemoryStream和FileStream
一,FileStream对象的数据来自文件,而MemoryStream对象的数据来自内存缓冲区。这两个类都继承自Stream类。
二,抽象基类System.IO.Stream代表流,它提供Read和Write两个方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO; public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MemoryStream mStream = new MemoryStream(); BufferedStream bStream = new BufferedStream(mStream); byte[] b = new byte[]; for (int i = ; i < ; i++)
{ bStream.WriteByte((byte)i); //将一个字节写入缓冲流的当前位置。 } bStream.Position = ; bStream.Read(b, , ); //将字节复制到的缓冲区,从0处开始读取字节,要读取的10字节数。 for (int i = ; i < ; i++)
{ Label1.Text = Label1.Text + b[i];
} Label2.Text = bStream.ReadByte().ToString(); // 转换为 int 的字节,或者如果从流的末尾读取则为 -1,则-1即是结束
}
}
二,文件流获取操作
string path2 = Server.MapPath("~/12.txt");
FileStream fileStream = File.OpenRead(path2); // 打开文件获取流
Stream stream = fileStream;
fileStream.Close();
MemoryStream和FileStream的更多相关文章
- File FileStream StreamReader StreamWriter C#
存在各种各样的IO设备,比如说文件File类(字符串文件和二进制文件),可以直接使用File类对文件进行读写操作. 这些各种IO的读取和写入是通过流的形式实现的,基类为Stream,针对各种不同的IO ...
- MemoryStream相关知识分享
一.简单介绍一下MemoryStream MemoryStream是内存流,为系统内存提供读写操作,由于MemoryStream是通过无符号字节数组组成的,可以说MemoryStream的性能可以算比 ...
- C# Stream篇(五) -- MemoryStream
MemoryStream 目录: 1 简单介绍一下MemoryStream 2 MemoryStream和FileStream的区别 3 通过部分源码深入了解下MemoryStream 4 分析Mem ...
- C#知识点记录
用于记录C#知识要点. 参考:CLR via C#.C#并发编程.MSDN.百度 记录方式:读每本书,先看一遍,然后第二遍的时候,写笔记. CLR:公共语言运行时(Common Language Ru ...
- Creating a ZIP Archive in Memory Using System.IO.Compression
Thanks to http://stackoverflow.com/a/12350106/222748 I got: using (var memoryStream = new MemoryStre ...
- 使用NPOI导入导出标准的Excel
关于NPOI NPOI是POI项目的.NET版本,是由@Tony Qu(http://tonyqus.cnblogs.com/)等大侠基于POI开发的,可以从http://npoi.codeplex. ...
- csharp: Export or Import excel using NPOI
excel 2003: using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
- [OpenXml] Generate excel in memory and dump to file
public static void GenerateExcelFromStream() { using (MemoryStream memoryStream = new MemoryStream() ...
- C# IO流的操作
C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作. namespace ConsoleApplication1 { class P ...
随机推荐
- 九度OJ 1035:找出直系亲属(二叉树)
题目1035:找出直系亲属 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1309 解决:521 题目描述: 如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如 ...
- 加密算法 MD5/SHA1
近来想学习函数式编程. 但是一直不知道怎么展开这个学习过程,目前的研究进度也不深入,想讲解一些原理也无从下手. 先简单的上一些算法,逐步分析语法和思想.虽然程度不深,但至少能记录这个过程. 本例子用F ...
- Ubuntu下LaTex中文环境安装与配置
转载自:http://www.linuxidc.com/Linux/2012-06/62456.htm LaTeX是一个强大的排版软件,但是其最初只是为英文排版而设计的.为了使其能够胜任中文排版的重任 ...
- Python3.4入门之ifelse错误解决方案
笔者用的是Python3.4 开始接触到ifelse语句 发现这样---C:\Users\Administrator>python e:\Python34\ifelse.py--去执行的时候老是 ...
- 在一个view类里面获取viewcontroller
- (UIViewController *)viewController { for (UIView* next = [selfsuperview]; next; next = next.su ...
- 一个HttpWebRequest工具类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.N ...
- 在 go/golang语言中使用 google Protocol Buffer
怎么在go语言中实用google protocol Buffer呢? 现在的潮流趋势就是一键搞定,跟ubuntu安装软件一样 go get code.google.com/p/goprotobuf/{ ...
- SOCKET网络编程细节问题(2)
SOCKET网络编程快速上手(二)——细节问题(2) 2.TCP数据包接收问题 对初学者来说,很多都会认为:客户端与服务器最终的打印数据接收或者发送条数都该是一致的,1000条发送打印,1000条接收 ...
- iOS手动管理内存
虽然iOS已经有了ARC帮你自动管理内存,但在有些项目中必须采用手动的方式,而且在懂得手动管理内存的情况下会是自己的代码更加完善 众所周知,基于手动管理内存的情况下必然涉及到 relese reta ...
- WPF/Silverlight中的RichTextBox总结
WPF/Silverlight中的RichTextBox总结 在WPF或者是在Silverlight中有个非常强大的可以编辑的容器控件RichTextBox,有的时间会采取该控件来作为编辑控件.鉴 ...