随笔分类 -  Stream

Stream Part.7
摘要:NetworkStream 和先前的流有所不同,NetworkStream 的特殊性可以在它的命名空间中得以了解(System.Net.Sockets),既然是在网络中传输的流,那必然有某种协议或者规则约束它,不错,这种协议便是Tcp/IP协议。如果服务器和客户端之间是基于TCP连接的,他们之间能够依靠一个稳定的字节流进行相互传输信息,这也是NetworkStream的最关键的作用,有了这个神奇的协议,NetWorkStream便能向其他流一样在网络中(进行点对点的传输),这种传输的效率和速度是非常高的(UDP也很快,稍后再介绍)。1. NetworkStream 只能用在具有Tcp/IP协议 阅读全文

posted @ 2012-07-04 11:58 SkySoot 阅读(556) 评论(0) 推荐(0) 编辑

Stream Part.6
摘要:BufferedStream 一般进行对流的处理时系统肩负着IO所带来的开销,调用十分频繁,这时候就应该想个办法去减少这种开销,而且必须在已有Stream进行扩展,有了以上2点需求,那么我们今天的主题,BufferedStream闪亮登场了,BufferedStream能够实现流的缓存,换句话说也就是在内存中能够缓存一定的数据而不是时时给系统带来负担,同时BufferedStream可以对缓存中的数据进行写入或是读取,所以对流的性能带来一定的提升,但是无法同时进行读取或写入工作,如果不使用缓冲区也行,BufferedStream能够保证不用缓冲区时不会降低因缓冲区带来的读取或写入性能的下降。缓 阅读全文

posted @ 2012-07-04 09:23 SkySoot 阅读(866) 评论(0) 推荐(0) 编辑

Stream Part.5
摘要:什么是 MemoryStream ? MemoryStream 是内存流,为系统内存提供读写操作,由于MemoryStream是通过无符号字节数组组成的,可以说MemoryStream的性能可以算比较出色,所以它担当起了一些其他流进行数据交换时的中间工作,同时可降低应用程序中对临时缓冲区和临时文件的需要,其实MemoryStream的重要性不亚于FileStream,在很多场合我们必须使用它来提高性能。MemoryStream和FileStream的区别 FileStream主要对文件进行一系列的操作,属于比较高层的操作,但是MemoryStream却很不一样,它更趋向于底层内存的操作,这样能 阅读全文

posted @ 2012-07-03 15:50 SkySoot 阅读(381) 评论(0) 推荐(0) 编辑

Stream Part.4
摘要:如何去理解 FileStream ? 我们磁盘的中任何文件都是通过2进制组成,最为直观的便是记事本了,当我们新建一个记事本时,它的大小是0KB, 我们每次输入一个数字或字母时文件便会自动增大4kb,可见随着我们输入的内容越来越多,文件也会相应增大,同理当我们删除文件内容时,文件也会相应减小。你肯定会问:谁将内容以怎么样的形式放到文件中去了?好问题,还记得第一篇流的概念么?对了,真实世界的一群鱼可以通过河流来往于各个地方,FileStream也是一样,byte可以通过FileStream进行传输,这样我们便能在计算机上对任何文件进行一系列的操作了。FileStream 的重要性 FileStre 阅读全文

posted @ 2012-07-02 12:27 SkySoot 阅读(408) 评论(0) 推荐(1) 编辑

Stream Part.3
摘要:为何介绍TextWriter? 就像上篇讲述的一样,对于重要的基础技术,一定要刨根问底,这样在面对将来可能很复杂的业务或技术时才能游刃有余,甚至可以创新出新的解决方案,言归正传,想了解StreamWriter 必须了解其父亲TextWriter的结构和使用方法。 那么微软为什么要创建立这个抽象类呢?看下图 的确可以这样理解C,C++ ,XAML,Html一切可以写在文本上写的语言都可以用Text这个词在抽象,(千万别小看记事本,它才是元老)。 今后我们可以自定义一些自己Writer类来实现我们特定的写功能。现在我们只要理解TextWriter是一个抽象的文本写入器,可以在文本上写入我们想要的格 阅读全文

posted @ 2012-06-29 16:59 SkySoot 阅读(405) 评论(0) 推荐(0) 编辑

Stream Part.2
摘要:什么是 TextReader ? TextReader是一个对于Text的读取器,可是又是怎么读取的呢?当然是通过连续的字符进行读取。 为什么在介绍StreamReader之前,要搞这个东东? 答案其实很简单:他们两个就是父子关系。TextReader 的常用属性和方法 想象一下 Text 这个词的范围,它囊括了许多的文件类型,我们可以在记事本上使用任何语言(英语,中文,c# ,天书,javascript,jquery,xml,xaml,sql,c++……),如此多的语言文本归根结底还是通过一个个char组成的,所以微软构造出了TextReader这个抽象类。对于TextReader我们无法直 阅读全文

posted @ 2012-06-29 15:48 SkySoot 阅读(310) 评论(0) 推荐(0) 编辑

Stream Part.1
摘要:什么是Stream?MSDN: 提供字节序列的一般视图。(我可不想这么理解,这必定让我抓狂,我理解的流是向自然界的河流那样清澈而又美丽,c#中的流也是一样,许多技术或者说核心技术都需要流的帮忙)什么是字节序列?其实简单的来理解的话字节序列指的是: 字节对象都被存储为连续的字节序列,字节按照一定的顺序进行排序组成了字节序列关于流的解释可以抽象为下列情况: 一条河中有一条鱼游过,这个鱼就是一个字节,这个字节包括鱼的眼睛,嘴巴,等组成8个二进制,显然这条河就是我们的核心对象:流c# 的 Stream 是如何使用的Stream 类有一个protected 类型的构造函数, 但是它是个抽象类,无法直接使 阅读全文

posted @ 2012-06-29 14:26 SkySoot 阅读(433) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示