文件流

//FileStream   File
            //创建FileStream对象
            FileStream f = new FileStream(@"F:\程序测试文件夹\new.txt",FileMode.OpenOrCreate,FileAccess.Read );
            ///FileMode:Open 打开 如果没有就会报错 
            ///OpenOrCreate  打开文件,如果没有那就创建一个
            ///Append        追加,不会把之前的覆盖   这几个是对文件进行操作
            ///FileAccess    这是对所打开的文件进行操作
            byte[] buffer = new byte[1024 * 1024 * 5];
            //这里新建一个byte数组,长度大小为5M
            //返回本次实际读取到的有效字节数
            int len=f.Read(buffer, 0, buffer.Length);
            //将字节数组中的每一个元素按照指定的编码格式解码成字符串
            string s =Encoding .UTF8.GetString(buffer,0,len);//这里设定读取的长度,从0到实际读取到的有效字节数,不然会用空来补足buffer的5M长度
            //关闭流
            f.Close();//关闭

            //释放所占用的资源
            f.Dispose();


            Console.WriteLine(s);
            Console.ReadKey();
//使用FileStream来写入数据,写入的时候用using,可以帮助自动清理内存
            using (FileStream file2 = new FileStream(@"F:\程序测试文件夹\new2.txt", FileMode.OpenOrCreate, FileAccess.Write))
            {
                string str = "看我有没有把你覆盖掉";//会把之间文件里的相应位置的字节给覆盖掉
                byte[] buffer = Encoding.UTF8.GetBytes(str);
                file2.Write(buffer, 0, buffer.Length);

            }
            Console.WriteLine("ok");
            Console.ReadKey();

//FileStream 是一点一点的读 是操作字节的,可以操作任何类型文件
//StreamReader和StreamWriter 操作字符的
//File 是一下子都读出来,只能操作小文件,几百k,几百字节

posted @ 2021-07-18 12:56  静态类  阅读(71)  评论(0编辑  收藏  举报