1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace _03FireStream文件夹流 9 {10 class Program11 {12 static void Main(string[] args)13 {14 // FileStream 读取和写入一个文件,一点点读取,可以按照指定读取字节大小读取,15 //FileStream(文件夹名字,创建的模式,读取的形式)他是一个非静态类,所以用new创建16 //先实现读取17 FileStream fileRead = new FileStream("读文件.txt", FileMode.OpenOrCreate, FileAccess.Read);18 //制定开辟字节的大小19 byte[] buff = new byte[1024 * 1024 * 5];//是5m20 int num = fileRead.Read(buff, 0, buff.Length); ;//理解成读取到了有效字节数为num 开辟的空间和要存储的空间不一致,所以要实际的21 //因为是字节,要的是字符串,所以要把字节转换为字符串22 string st = Encoding.Default.GetString(buff, 0, num);23 fileRead.Close();//关闭流24 fileRead.Dispose();//释放流(因为GC不能回收)25 Console.WriteLine(st);//读取文件里 内容26 27 // //*****************方法一 * **********************28 //// 实现写 的功能29 // FileStream fileWrite = new FileStream("写文件.txt", FileMode.OpenOrCreate, FileAccess.Write);30 // //写入的是字符串31 // string s = "465789";32 // //存在文本文件里的东西是字节,所以要把字符串转换成字节33 // byte[] bu = Encoding.Default.GetBytes(s);34 // fileWrite.Write(bu, 0, bu.Length);35 // fileWrite.Close();// 关闭流36 // fileWrite.Dispose();// 释放流(因为GC不能回收)37 38 //*****************方法二***********************39 //用using可以省略写 fileWrite.Close();// 关闭流。fileWrite.Dispose();// 释放流(因为GC不能回收)40 using (FileStream fileWrite = new FileStream("写文件.txt", FileMode.OpenOrCreate, FileAccess.Write))41 {42 string s = "465789";43 //存在文本文件里的东西是字节,所以要把字符串转换成字节44 byte[] bu = Encoding.Default.GetBytes(s);45 fileWrite.Write(bu, 0, bu.Length);46 fileWrite.Close();// 关闭流47 fileWrite.Dispose();// 释放流(因为GC不能回收)48 }49 }50 }51 }