/// <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;?
}?
/// <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;?
}?