C#--几个数据流Stream;StreamReader;StreamWriter;MemoryStream;BufferStream;
命名空间:System.IO;
Stream:
各种流的基类,不能时行查找操作,Position属性不能修改。读取时不Position不会自动移动,
HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(new Uri("http://www.baidu.com/"));
Stream stream = ((HttpWebResponse)webreq.GetResponse()).GetResponseStream();
MemoryStream ms = new MemoryStream();
stream.CopyTo(ms);把Stream流Copy到MemoryStream。这样可以进行查找操作了。
stream.ReadByte();从其中读取一个字节,并且把流的位置向前移动一个字节。
MemoryStream:
把字节数组保存到流中:Byte []b=new byte[4];
ms.ReadByte();把数据从MemroryStream内存流中读取一个字节出来。
ms.Position = 3;MemroyStream支持流的查找操作,Position会随着读取和写入流而自动变化。
byte []b = new byte[30];字节数组,
ms.Read(b,0,30);把MemeoryStream流中的数据写入到缓冲区b中,从缓冲区的0位置开始,写入30字节。
byte [] byt=ms.ToArray();把流MemoryStream保存到字节数组中。这时Position不会变化,与之没有关系, 也就是当Position在流中间的某个位置时,也能把流中所有的数据保存 到字节中。
StreamReader:
读取流
StreamReader sr = new StreamReader(stream);用流Stream来初始化读取流StreamReader。
string str = sr.ReadToEnd();把流中的数据读取出来,形成并保存到字符串。
StreamWriter:
写入流
StreamWriter sw = new StreamWriter(stream);以Stream流来初始化StreamWriter流;
sw.Write(str);把字符串写入流StreamWriter中。
C#--几个数据流Stream;StreamReader;StreamWriter;MemoryStream;BufferStream;的更多相关文章
- File FileStream StreamReader StreamWriter C#
存在各种各样的IO设备,比如说文件File类(字符串文件和二进制文件),可以直接使用File类对文件进行读写操作. 这些各种IO的读取和写入是通过流的形式实现的,基类为Stream,针对各种不同的IO ...
- 20151024_003_C#基础知识(File / FileStream / StreamReader/StreamWriter)
1:绝对路径和相对路径 绝对路径:通过给定的路径直接能在我的电脑中找到这个文件. 相对路径:文件相对于应用程序的路径. 2:编码格式 乱码:产生乱码的原因,就是你保存这个文件所采用的编码,跟你打开这个 ...
- C#流总结(文件流、内存流、网络流、BufferedStream、StreamReader/StreamWriter、TextReader/TextWriter)
一.文件流 FileStream类主要用于读写磁盘文件.常用于向磁盘存储数据或读取配置文件. 读取文件: //文件流:读取 FileStream fileStream = File.Open(@&qu ...
- StreamReader & StreamWriter
这节讲StreamReader & StreamWriter,这两个类用于操作字符或者字符串,它将流的操作封装在了底层,相对来说用法比较简单,但是它不支持Seek()方法. 先看一下代码: F ...
- C# FileStream MemoryStream BufferedStream StreamReader StreamWriter
FileStream读取文件 , array.Length);//读取流中数据把它写到字节数组中file.Close();//关闭流string str =Encoding.Default.GetSt ...
- stream,file,filestream,memorystream简单的整理
一.Stream 什么是stream?(https://www.cnblogs.com/JimmyZheng/archive/2012/03/17/2402814.html#no8) 定义:提供字节序 ...
- FileStream和BinaryReader,BinaryWriter,StreamReader,StreamWriter的区别
FileStream对于在文件系统上读取和写入文件非常有用,FileStream缓存输入和输出,以获得更好的性能.FileStream对象表示在磁盘或网络路径上指向文件的流.这个类提供了在文件中读写字 ...
- c# 文件IO操作 StreamReader StreamWriter Split 使用
StreamWriter(String,Boolean) 若要追加数据到该文件中,则为 true:若要覆盖该文件,则为 false. 如果指定的文件不存在,该参数无效,且构造函数将创建一个新文件. 例 ...
- Node.js数据流Stream之Readable流和Writable流
一.前传 Stream在很多语言都会有,当然Node.js也不例外.数据流是可读.可写.或即可读又可写的内存结构.Node.js中主要包括Readable.Writable.Duplex(双工)和Tr ...
随机推荐
- (02)javascript属性
私有属性(私有变量和私有方法) 实例属性(实例变量和实例方法) 静态属性(静态变量和静态方法) <!DOCTYPE html> <html lang="en"&g ...
- 第一天的作业,登录接口脚本 login.py
user_list = [] count = 0 user = "liruixin" password = " raw_user = raw_input("us ...
- linux命令巧用,随手记
巧用1 一句话修改或者给用户设置密码,并且防止历史命令记住设置的密码 echo "qqxde:ioj123"|passwd --stdin Dicky && his ...
- ES6新特性:Javascript中的Reflect对象
Reflect介绍: Reflect这个对象在我的node(v4.4.3)中还没有实现, babel(6.7.7)也没有实现 ,新版本的chrome是支持的, ff比较早就支持Proxy和Reflec ...
- TODO: 图片加载框架ImageLoader的实现
1, 使用三级缓存策略 2, 使用builder模式设置ImagLoager的config
- 强制重启N种方法
强制重启N种方法 2015-12-24 17:19 146人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: 驱动开发学习(458) 作者同类文章X 1. 无意中看到一种通过控制92H端口b ...
- ThreadLocal原理与模拟
首先用一个程序模拟一下ThreadLocal: public class ThreadLocal1 { private static Dictionary<Thread, Integer> ...
- xml解析工具-jdom
前言:近期接触SSH框架的时候,经常得配置一下xml文件:今天闲来没事就挖挖xml解析的原理供大伙儿分享.本文主要通过一个简单的例子解析一个xml文件.明白其中缘由之后,大家想定义自己的xml也绝非难 ...
- SQL Server 自增字段重置
--- 删除原表数据,并重置自增列 truncate table tablename --truncate方式也可以重置自增字段 --重置表的自增字段,保留数据 DBCC CHECKIDENT (ta ...
- threading示例
多线程举例: import time import threading def worker(): print ("hello.Kamil") time.sleep(1)#等待一秒 ...