C# Stream 和 byte[] 之间的转换

真情实告

真情实告

2016-02-19 10:31

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是C# Stream 和 byte[] 之间的转换,一起来学习了解下吧!
/* - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 byte[] 之间的转换
 * - - - - - - - - - - - - - - - - - - - - - - - */
/// summary
/// 将 Stream 转成 byte[]
/// /summary
public byte[] StreamToBytes(Stream stream)
{
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);

    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);
    return bytes;
}

/// summary
/// 将 byte[] 转成 Stream
/// /summary
public Stream BytesToStream(byte[] bytes)
{
    Stream stream = new MemoryStream(bytes);
    return stream;
}


/* - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 文件之间的转换
 * - - - - - - - - - - - - - - - - - - - - - - - */
/// summary
/// 将 Stream 写入文件
/// /summary
public void StreamToFile(Stream stream,string fileName)
{
    // 把 Stream 转换成 byte[]
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 设置当前流的位置为流的开始
    stream.Seek(0, SeekOrigin.Begin);

    // 把 byte[] 写入文件
    FileStream fs = new FileStream(fileName, FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(bytes);
    bw.Close();
    fs.Close();
}

/// summary
/// 从文件读取 Stream
/// /summary
public Stream FileToStream(string fileName)
{            
    // 打开文件
    FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read);
    // 读取文件的 byte[]
    byte[] bytes = new byte[fileStream.Length];
    fileStream.Read(bytes, 0, bytes.Length);
    fileStream.Close();
    // 把 byte[] 转换成 Stream
    Stream stream = new MemoryStream(bytes);
    return stream;
}
展开更多 50%)
分享

猜你喜欢

C# Stream 和 byte[] 之间的转换

编程语言 网络编程
C# Stream 和 byte[] 之间的转换

c#实现16进制和字符串之间转换的代码

编程语言 网络编程
c#实现16进制和字符串之间转换的代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

project和wordexcel之间的转换

电脑入门
project和wordexcel之间的转换

C# 16进制与字符串、字节数组之间的转换

编程语言 网络编程
C# 16进制与字符串、字节数组之间的转换

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

C语言 数与串之间转换的方法

编程语言 网络编程
C语言 数与串之间转换的方法

CAD、word和excel之间的转换

电脑入门
CAD、word和excel之间的转换

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

那么可笑 那么遥不可及 - QQ伤感分组

那么可笑 那么遥不可及 - QQ伤感分组

struts2中实现多个文件同时上传代码

struts2中实现多个文件同时上传代码
下拉加载更多内容 ↓