首页 > 代码库 > 141107●Winform流

141107●Winform流

流:(I/O)

         分类:文件流,内存流,网络流。

         命名空间:using System.IO;

 

一、类:FileStream

构造:

         FileStream stream = new FileStream(@"d:\test.txt", FileMode.Create);

         FileStream stream = new FileStream(@"d:\test.txt", FileMode.Create, FileAccess.ReadWrite);

 

属性:

         Length:流的长度

         Position:流的当前位置

 

方法:

         Write(byte[] 流的内容,int 从第几个位置开始写,int 写入的长度)    //写文件

         Read(byte[] 用来存放读取出来的流的空间,int 从第几个位置开始读,int 读入的长度)    //读文件

         Seek(int 偏移量,SeekOrignal 从哪开计算偏移)    //调整流的当前位置

         Flush()    //把缓冲区的内容,全写到文件中去。

         Close()    //关闭流。

 

 

二、流的写入操作:

第一步:建立文件流对象。

         fs = new FileStream(@"e:\test.txt", FileMode.Create);

         FileMode.Create()    //创建txt文件

         FileMode.Open()    //打开txt文件,光标在开头,写入内容从开始覆盖原文件

         FileMode.Appen()    //打开txt文件,光标在末尾,写入内容从末尾追加

 

第二步:写入操作

         1.把要写的内容转化为二进制数组。

         byte[] nr = System.Text.Encoding.Default.GetBytes(textBox1.Text);

 

         注意:Encoding类,是对文本进行编码的的类。它在System.Text命名空间下。它当中,有各种编码的属性(ASCII,Unicode,UTF8...),一般我们会用Default属性设置编码格式。

         Encoding.Default    //用操作系统默认的编文本编码格式进行编码。

         Encoding.Default.GetBytes(....)    //把传入的参数按照指定的编码格式,编码为二进制数组。

 

         2.用Write()写入。

         fs.Write(nr,0,nr.Length);

第三步:关闭流。

         fs.Close();

 

 

三、流的读取操作:

第一步:建立流的对象

         fs = new FileStream(@"e:\test.txt", FileMode.Open);

第二步:读取流。

         1.造个二进制数组,用来接受取出来的流的数据。

         byte[] bf = new byte[fs.Length];

         2.使用流的Read()方法,从流中读取二进制数据出来。

         fs.Read(bf, 0, bf.Length);

         3.使用Encoding.GetString()方法,把二进制数组变成字符串。

         textBox1.Text = Encoding.Default.GetString(bf);

 

第三步:关闭流。

         fs.Close();

 

 

 

StreamWriter类:

一、构造:

1.使用流进行构造。

         StreamWriter writer = new StreamWriter(fs, Encoding.Default);

2.不使用流构造,直接面向文件

         StreamWriter writer = new StreamWriter(@"E:\Test.txt", true, Encoding.Default);    //true,追加;false,覆盖

 

二、属性:

三、方法:

         Write()

         WriteLine()

         Close()    //关闭

         Flush()

 

代码:

            StreamWriter writer = new StreamWriter(@"E:\Test.txt", true, Encoding.Default);

            writer.WriteLine(textBox1.Text);

            writer.Close();

          

            //FileStream fs = new FileStream(@"E:\Test.txt", FileMode.OpenOrCreate);

 

            //StreamWriter writer = new StreamWriter(fs, Encoding.Default);

            //writer.WriteLine(textBox1.Text);

 

            //writer.Close();

            //fs.Close();

 

 

StreamReader类:

一、构造:

1.使用流进行构造

         StreamReader reader = new StreamReader(fs, Encoding.Default);

2.不使用,直接面向文件

         StreamReader reader = new StreamReader(@"E:\Test.txt",Encoding.Default);

二、属性:

三、方法:

         ReadLine()

         ReadToEnd():

         Close()

 

            StreamReader reader = new StreamReader(@"E:\Test.txt",Encoding.Default);

            textBox1.Text = reader.ReadToEnd();

            reader.Close();

 

            //FileStream fs = new FileStream(@"E:\Test.txt", FileMode.OpenOrCreate);

          

            //StreamReader reader = new StreamReader(fs, Encoding.Default);

            ////textBox1.Text = reader.ReadLine();

            //textBox1.Text = reader.ReadToEnd();

 

            //reader.Close();

            //fs.Close();

 

141107●Winform流