#把所有文件都看成是顺序字节流,用抽象类Stream代表一个流。Stream类有许多派生类,例如FileStream类,以字节为单位读写文件;BinaryRead类和BinaryWrite类,以基本数据类型为单位读写文件,可以从文件直接读写bool、String、int16、int等基本数据类型数据;StreamReader和StreamWriter类以字符或字符串为单位读写文件。本节首先介绍这些类的用法,然后介绍数据的序列化。使用流读写文件必须引入命名空间:。,用来打开和关闭文件,以字节为单位读写文件。也可对与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。FileStream类对象能对输入输出进行缓冲,从而提高性能。例子,写文件,写字节数组数据到文件的程序如下,该程序将建立文件d:/。usingSystem;; //使用文件必须引入的命名空间classWriteFile{ staticvoidMain(){ byte[]data=newbyte[10]; //建立字节数组for(inti=0;i<10;i++) //为数组赋值data[i]=(byte)i;FileStreamfs= //建立流对象 newFileStream("d://",);//写data字节数组中的所有数据到文件 (data,0,10); () } //不再使用的流对象,必须关闭。} //垃圾收集器不能自动清除流对象读一个文件所有字节到数组并在屏幕显示的程序如下,请先用上例建一个文件,然后用此例读出。usingSystem;; //使用文件必须引入的命名空间classReadFile{ staticvoidMain(){FileStreamfs= newFileStream("d://",);byte[]data=newbyte[];longn=(data,0,(int));//();("文件的内容如下:");foreach(bytemindata)("{0},",m); }}移动文件读写位置usingSystem;; //使用文件必须引入的命名空间classFileStreamProperty{ staticvoidMain(){FileStreamfs= //无第3个参数 newFileStream("d://",);//文件读写位置移到从文件尾部向前5个字节 (-4,); (“读写位置:{0}, 能定位:{1}",,);(“能读:{0}, 能写:{1}",,);(); }}、BinaryWriter类读写基本数据类型使用BinaryReader和BinaryWriter类可以从文件直接读写bool、String、int16、int等基本数据类型数据。写int类型数据程序如下:usingSystem;;//使用文件必须引入的命名空间classWriteFile{ staticvoidMain(){FileStreamfs=new FileStream("d://",);BinaryWriterw=newBinaryWriter(fs);for(inti=0;i<10;i++)(i); //写入int类型数据 (); }}读int类型数据程序如下,先用上例建一个文件,然后用此例读出。usingSystem;; //使用文件必须引入的命名空间classReadFile{ staticvoidMain()
第6章文件以及流 来自淘豆网www.taodocs.com转载请标明出处.