c#中的FileStream文件流
static void Main(string[] args) { //FileStream(操作字节的) //1.创建FileStream对象 FileStream fs = new FileStream(@"D:\桌面\demo.txt",FileMode.OpenOrCreate,FileAccess.Read); //三个参数解读:1.操作文件的路径 2.打开文件,没有改文件就创建文件 3.对打开的文件进行什么操作 byte[] buffer = new byte[1024*1024*5];//5m int r=fs.Read(buffer, 0, buffer.Length);//返回实际读取有效的字节数,比如说一个文件只有3M,读到的有效的就只有3M,则返回3M的字节数3*1024*1024 //三个参数解读:1.读取字符的大小限定 2.从哪里开始读 3.读多少 //将字节数组中每一个元素按照指定的编码格式解码成字符串 string str=Encoding.Default.GetString(buffer,0,r);//第二第三个参数表示解码多少个字节(从第0个字节解码到第r个字节) //流用完了记得关闭 fs.Close(); //释放流所占用的资源 fs.Dispose(); Console.WriteLine(str); }
运行结果如下:
写文件(与旧文件一个一个字节覆盖,而不会一次性全部覆盖)
static void Main(string[] args) { //使用FileStream来写入数据 using(FileStream fs=new FileStream(@"D:\桌面\demo.txt", FileMode.OpenOrCreate, FileAccess.Write)) { string str = "勇士总冠军!!!!!!!!!!!!!!!!"; byte[] buffer = Encoding.Default.GetBytes(str); fs.Write(buffer, 0, buffer.Length); } Console.WriteLine("写入完成!!"); }
结果: