编程语言
首页 > 编程语言> > C# Stream的使用

C# Stream的使用

作者:互联网

流(Stream)是.NET Framework为程序提供的读写数据的方法。每个流都是抽象类Stream的子类,已经内置类很多流类用来完成不同的工作

1,Stream–>FileStream读写文件, FileStream 类只能处理原始字节(raw byte)。FileStream 类可以用于任何数据文件,而不仅仅是文本文件。FileStream 对象可以用于读取诸如图像和声音的文件,FileStream读取出来的是字节数组,然后通过编码转换将字节数组转换成字符串。

引用命名空间

using System.IO;

声明一个FileStream类的对象

FileStream fsRead = new FileStream(string path, FileMode mode, FileAccess access);

参数解析:
path:要操作的文件路径,路径可以是绝对路径或者相对路径。

//Directory.GetCurrentDirectory()保存到解决方案下的默认地址  file.FileName给的文件名
var filefullPath = Path.Combine(Directory.GetCurrentDirectory(), file.FileName);

mode:操作文件的方式,打开或者创建

access:操作文件中的数据,读取或者写入

实操

例子一 保存文件到本地


        /// <summary>
        /// postman上传文件到本地
        /// </summary>
        /// <param name="filename">保存文件名称</param>
        /// <param name="file">文件</param>
        /// <returns></returns>
        [HttpPost]
        public async Task<string> SaveFile([FromForm] string filename, IFormFile file)
        {
            return await Task.Run(() =>
            {
                try
                {
                    //保存文件到本地
                    var filefullPath = Path.Combine(Directory.GetCurrentDirectory(), filename);
                    using (FileStream fs = new FileStream(filefullPath, FileMode.Create,FileAccess.ReadWrite))
                    {
                        file.CopyTo(fs);
                        fs.Flush();
                    }
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
                return "保存成功";
            });
        }

2, Stream–>MemoryStream读写内存块数据

Stream–>NetworkStream读写其他计算机或设备数据
Stream–>GZipStream压缩数据便于下载和存储

标签:文件,return,Stream,C#,读写,FileStream,file,使用
来源: https://www.cnblogs.com/yunnn/p/16351176.html