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