C#流(stream)

http://www.cnblogs.com/liuxinls/archive/2013/02/15/2912968.html

?

流用于对IO处理

在System.IO名称空间中有以下类

BinaryReader/Writer

TextReader/Writer

Stream

其中类Stream为抽象类。由此有三个派生类:

MemoryStream:对内存进行读取与写入

BufferedStream:对缓冲器进行读取/写入

FileStream:对文件执行读取与写入

TextReader/Writer为抽象类。由此派生类:

StreamReader/StreamWirter

StringReader/StreamWriter

需要引入命名空间:

using System.IO

内存流与缓冲的使用举例:

?

MemoryStream memStream=new MemoryStream();

?

BufferedStream bufStream=new BufferedStream(memStream);

?

byte[] b=new
byte[10];

?

for(int i=0;i<10;i++)

?

{

?

bufStream.WriteByte((byte)i);

?

}

?

bufStream.Position=0;

?

bufStream.Read(b,0,9);

?

for(int i=0;i<10;i++)

?

{

?

Console.WriteLine("读的值是:{0}",b[i]);

?

}

?

Console.WriteLine("值是:{0}",bufStream.ReadByte());

?

Console.ReadLine();

文件流的使用

?

string s=Console.ReadLine();

?

FileStream fileStream=new FileStream(s,FileMode.OpenOrCreate);

?

BinaryWriter binStream=new BinaryWriter (fileStream);

?

for(int i=1;i<=10;i++)

?

{

?

binStream.Write((int)i);

?

}

?

binStream.Close();

?

fileStream.Close();

?

FileStream f=new FileStream(s,FileMode.Open,FileAccess.Read,FileShare.ReadWrite);

?

BinaryReader buf=new BinaryReader(f);

?

for(int i=1;i<10;i++)

?

{

?

?

Console.WriteLine("输出{0}",buf.ReadByte ()); //在vs2012中这样不能读出东西来

?

Console.WriteLine("输出{0}",Bur.ReadInt32());才行,因为int是32位的

?

}

文本流的使用

?

string fileName,s;

?

fileName=Console.ReadLine();

?

StreamWriter fn=new StreamWriter(fileName,true);

?

for(int i=1;i<10;i++)

?

{

?

s=Console.ReadLine();

?

fn.WriteLine(s);

?

}

?

fn.Close();

?

StreamReader fr=new StreamReader(fileName);

?

?

for(int i=1;i<10;i++)

?

{

?

s=fr.ReadLine();

?

Console.WriteLine(s);

?

}

?

fr.Close();

?

Console.ReadLine();

字符串流的使用

?

using System.Text;

?

StringBuilder str=new StringBuilder(100,1000);

?

StringWriter sw=new StringWriter(str);

?

for(int i=1;i<5;i++)

?

{

?

sw.Write(Console.ReadLine());

?

}

?

sw.Close();

?

Console.WriteLine(sw.ToString());

?

StringReader sr=new StringReader(sw.ToString());

?

Console.WriteLine(sr.ReadLine());

?

Console.ReadLine();

时间: 2024-10-17 05:06:35

C#流(stream)的相关文章

Java学习记录(补充八:Date类;Java流(Stream),文件(File)和IO)

Date类,Calendar类package Box1; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; //Date类 public class DateTest { public static void main(String[] args) { Date

[Linux] 流 ( Stream )、管道 ( Pipeline ) 、Filter- 笔记

流 ( Stream ) 1. 流,是指可使用的数据元素一个序列. 2. 流,可以想象为是传送带上等待加工处理的物品,也可以想象为工厂流水线上的物品. 3. 流,可以是无限的数据. 4. 有一种功能,处理这一个流同时产生着另一个流.这种功能被成为 过滤 ( Filter ).使用管道 ( pipelie ) 将这些功能进行连接. Unix 管道 ( Pipeline ) 1. 管道连接着处理元素,一个处理元素的输出是下一个处理处理元素的输入. 2. 管道能加快数据处理速度. 2. Unix 下的

流Stream 文件File 流IO

Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序列.输入流表示从一个源读取数据,输出流表示向一个目标写数据. Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中. 但本节讲述最基本的和流与 I/O 相关的功能.我们将通过一个个例子来学习这些功能. 读取控

深入理解 Java中的 流 (Stream)

首先,流是什么? 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行.设备可以是文件,网络,内存等. 流具有方向性,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,我们成为输出流,反之我们称为输入流. 可以将流想象成一个"水流管道",水流就在这管道中形成了,自然就出现了方向的概念. 当程序需要从某个数据源读入数据的时候,就会开启一个输入流,数据源可以是文件.内存或网络等等.

Java流(Stream)、文件(File)和IO

Java流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序列.输入流表示从一个源读取数据,输出流表示向一个目标写数据. Java为I/O提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中. 但本节讲述最基本的和流与I/O相关的功能.我们将通过一个个例子来学习这些功能. 读取控制台输入 Jav

Java笔记:Java 流(Stream)、文件(File)和IO

更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. 输入输出流 简介 一个流被定义为一个数据序列.输入流用于从源读取数据,输出流用于向目标写数据. 下图是一个描述输入流和输出流的类层次图: 在java.io包中操作文件内容的主要有两大类:字节流.字符流,两类都分为输入和输出操作. 在字节流中输出数据主要是使用

php流,stream,以及include/file_get_contents等的不全面深度解析

最近在研究phar,看到里边有php流(stream)的内容 补了补课,收获颇多,在此整理记录一下: stream的有关函数: <?php var_dump(stream_get_transports()); // 获取已注册的套接字传输协议列表 var_dump(stream_get_wrappers());// 获取已注册的流类型 var_dump(stream_get_filters()); // 获取已注册的数据流过滤器列表 stream_context_create(); //流的修饰

流(stream)

流的概念 Java程序通过流来完成输入/输出.流是生产或消费信息的抽象.流通过Java的输入/输出系统与物理设备链接.尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式.这样,相同的输入/输出类和方法适用于所有类型的外部设备.这意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字.同样,一个输出流可以输出到控制台,磁盘文件或相连的网络.流是处理输入/输出的一个洁净的方法,例如它不需要代码理解键盘和网络的不同.Java中流的实现是在java.io包定义的类层次结构

Core Java - 流(Stream) - 字节流和字符流(一)

0. 概述: Java中基于流的I/O构建在4个抽象类之上, 其中2个是字节流,另外2个是字符流. 字节流: InputStream / OutputStream 当操作字节或其它二进制对象时,应当使用字节流. 字符流: Reader / Writer 当操作字符或字符串时,应当使用字符流. 1. InputStream InputStream:   输入字节流,它是一个抽象类. 常用主要方法: int read() 返回代表下一个可用字节的整数,当文件达到末尾时,返回-1. int read(