首页 > 代码库 > 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流