c#中文件流的操作

2025-10-16 09:55:56

1、FileStream:是以字节为单位,可以操作所有类型的数据文件

StreamReader和StreamWrite:以字符为单位,操作字符串等

他们都存在与IO的命名空间下,添加命名空间快捷方式ATL+SHIFT+F10

c#中文件流的操作

2、//创建filestream文件流对象有三个属性

             * 路径,filemode,fileacess

             * 写入步骤:1.创建对象  2.将要写入的字符串 3.将字符串通过encoding的方法转换成字节  4.通过.write方法将字节数组写入到文件中

             * 读入步骤:1.创建对象  2.创建一个限定大小的byte数组 3.通过.read方法读取有限字节的长度 4.将读取到的数据转换成字符串 5.打印字符串

3、FileStream读取文件

  using (FileStream fsRead=new FileStream(@"C:\Documents and Settings\Administrator\桌面\直接按组分配.txt",FileMode.OpenOrCreate,FileAccess.Read))

            {

                byte[] by=new byte[1024*1024*5];

                int r=fsRead.Read(by, 0, by.Length);

                string s=Encoding.Default.GetString(by, 0, r);

                Console.WriteLine(s);

                

            }

using(创建对象,并且定义文件流的动作)

{

   具体操作

}

这样写可以自动关闭文件流释放空间

c#中文件流的操作

4、FileStream写入文件

 using (FileStream fsWrite = new FileStream(@"C:\Documents and Settings\Administrator\桌面\1.txt", FileMode.OpenOrCreate, FileAccess.Write))

            {

                string s = "今天天气不错,让我们出去刷刷吧";

                byte[] buffer = Encoding.Default.GetBytes(s);

                fsWrite.Write(buffer, 0, buffer.Length);

                Console.WriteLine("写入成功");

                Console.ReadKey();

            }

c#中文件流的操作

5、复制多媒体文件

先读取原文件,然后再写入到新文件中

 using (FileStream fsRead = new FileStream(@"C:\Documents and Settings\Administrator\桌面\1_.apk", FileMode.OpenOrCreate, FileAccess.Read))

            {

                //创建一个负责写入的流

                using (FileStream fsWrite = new FileStream(@"C:\Documents and Settings\Administrator\桌面\2.apk", FileMode.OpenOrCreate, FileAccess.Write))

                {

                    byte[] buffer = new byte[1024 * 1024 * 5];

                    ////因为文件可能比较大所以在读取的时候应该用循坏去读取

                    while (true)

                    {

                        ////返回本次实际读取到的字节数

                        int r = fsRead.Read(buffer, 0, buffer.Length);

                        if (r == 0)

                        {

                            break;

                        }

                        fsWrite.Write(buffer, 0, r);///写入

                    }

                }

            }

            Console.ReadKey();

结果会生成两个一样大小的文件,如图

c#中文件流的操作

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢