欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# Stream 和 byte[] 之間的轉(zhuǎn)換

 更新時間:2008年03月09日 20:09:18   作者:  
Stream 和 byte[] 之間的轉(zhuǎn)換
/* - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 byte[] 之間的轉(zhuǎn)換
 * - - - - - - - - - - - - - - - - - - - - - - - */
/// <summary>
/// 將 Stream 轉(zhuǎn)成 byte[]
/// </summary>
public byte[] StreamToBytes(Stream stream)
{
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);

    // 設(shè)置當前流的位置為流的開始
    stream.Seek(0, SeekOrigin.Begin);
    return bytes;
}

/// <summary>
/// 將 byte[] 轉(zhuǎn)成 Stream
/// </summary>
public Stream BytesToStream(byte[] bytes)
{
    Stream stream = new MemoryStream(bytes);
    return stream;
}


/* - - - - - - - - - - - - - - - - - - - - - - - - 
 * Stream 和 文件之間的轉(zhuǎn)換
 * - - - - - - - - - - - - - - - - - - - - - - - */
/// <summary>
/// 將 Stream 寫入文件
/// </summary>
public void StreamToFile(Stream stream,string fileName)
{
    // 把 Stream 轉(zhuǎn)換成 byte[]
    byte[] bytes = new byte[stream.Length];
    stream.Read(bytes, 0, bytes.Length);
    // 設(shè)置當前流的位置為流的開始
    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[] 轉(zhuǎn)換成 Stream
    Stream stream = new MemoryStream(bytes);
    return stream;
}

相關(guān)文章

  • 使用C#獲取網(wǎng)頁HTML源碼的例子

    使用C#獲取網(wǎng)頁HTML源碼的例子

    這篇文章主要介紹了使用C#獲取網(wǎng)頁HTML源碼的例子,考慮了區(qū)分GB2312和UTF-8編碼,需要的朋友可以參考下
    2014-08-08
  • C# 解壓gizp文件(.tgz)的實例

    C# 解壓gizp文件(.tgz)的實例

    下面小編就為大家分享一篇C# 解壓gizp文件(.tgz)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C#并發(fā)編程之Task類詳解

    C#并發(fā)編程之Task類詳解

    Task是建立在線程池之上的一種多線程技術(shù),它的出現(xiàn)使Thread成為歷史。其使用方法非常簡單,本文就來通過幾個示例為大家講講它的具體使用吧
    2023-03-03
  • c#設(shè)計模式之單例模式的實現(xiàn)方式

    c#設(shè)計模式之單例模式的實現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于c#設(shè)計模式之單例模式的實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • C#操作SQLite數(shù)據(jù)庫方法小結(jié)

    C#操作SQLite數(shù)據(jù)庫方法小結(jié)

    這篇文章介紹了C#操作SQLite數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 使用VS2005自帶的混淆器防止你的程序被反編譯的方法

    使用VS2005自帶的混淆器防止你的程序被反編譯的方法

    使用VS2005自帶的混淆器防止你的程序被反編譯的方法...
    2007-07-07
  • C# 定時器保活機制引起的內(nèi)存泄露問題解決

    C# 定時器?;顧C制引起的內(nèi)存泄露問題解決

    這篇文章主要介紹了C# 定時器?;顧C制引起的內(nèi)存泄露問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Unity實現(xiàn)移動物體到鼠標點擊位置

    Unity實現(xiàn)移動物體到鼠標點擊位置

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)移動物體到鼠標點擊位置,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • C# 8.0可空引用類型的使用注意記錄

    C# 8.0可空引用類型的使用注意記錄

    這篇文章主要給大家介紹了關(guān)于C# 8.0可空引用類型使用注意的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • c#創(chuàng)建圓形類Circle、矩形類實現(xiàn)代碼

    c#創(chuàng)建圓形類Circle、矩形類實現(xiàn)代碼

    這篇文章主要介紹了c#創(chuàng)建圓形類Circle實現(xiàn)代碼,其中包括set,get方法,需要的朋友可以參考下
    2020-11-11

最新評論