文件流的基本知识
1 //读取 (小)
protected void btn_Click(object sender, EventArgs e)
{
//1创建一个文件流对象 并给这个文件流对象指定操作的文件路径, 还有指定的操作方式
FileStream fs = new FileStream(@"d:2.txt", FileMode.Open);
//2准备一个byte 数组 以控 文件流对象读取数据并放到这个数组
byte[] buffer = new byte[1024 * 1024];
//3调用文件流的读数据方法 ,将读出来的字节放入到 数组
fs.Read(buffer, 0, buffer.Length);
//4讲字符数组转成字符串
string txt = Encoding.Default.GetString(buffer);
//关闭文件流
fs.Dispose();
}
2 //保存 (小)
protected void wr_Click(object sender, EventArgs e)
{
//创建件文件流对象
FileStream fs = new FileStream(@"d:3.txt", FileMode.Create);
string str = "阿斯达为其味无穷";
//字符串 ---> 字符数组
byte[] buffer= Encoding.UTF8.GetBytes(str);
//调用文件流对象的写入方法
fs.Write(buffer, 0, buffer.Length);
fs.Dispose();
}
3 //大文件读取
protected void dd_Click(object sender, EventArgs e)
{
//1 用于读数据的文件流
FileStream fsRead = new FileStream(@"d:2.txt", FileMode.Open);
//2用于写数据流 的文件流
FileStream fswrite = new FileStream(@"d:3.txt", FileMode.Create);
//3准备一个byte 数组 以控 文件流对象读取数据并放到这个数组
byte[] buffer = new byte[1024 * 1024];
//
int length = 0;
do
{
length = fsRead.Read(buffer, 0, buffer.Length); //记录读取多少个字节 ,可能最后一次没读完 没装满
fswrite.Write(buffer, 0, length);
}
while (length >= buffer.Length);// 1024 980
fswrite.Dispose();
fsRead.Dispose();