将String转化成Stream,将Stream转换成String, C# Stream 和 byte[] 之间的转换(文件流的应用)

       static void Main( string[] args )
        {            
            string str = "Testing 1-2-3";             //convert string 2 stream            
            byte[] array = Encoding.ASCII.GetBytes(str);            
            MemoryStream stream = new MemoryStream(array);             //convert stream 2 string      
            StreamReader reader = new StreamReader(stream);
            string text = reader.ReadToEnd();
            Console.WriteLine(text); 
            Console.ReadLine(); 
       }
/// 将 Stream 转成 byte[]
public byte[] StreamToBytes(Stream stream) 

{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length); 
// 设置当前流的位置为流的开始 
stream.Seek(0, SeekOrigin.Begin); 
return bytes; 
}

/// 将 byte[] 转成 Stream
public Stream BytesToStream(byte[] bytes) 
{ 
Stream stream = new MemoryStream(bytes); 
return stream; 
}
Stream 和 文件之间的转换
将 Stream 写入文件
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(); 
}

五. 从文件读取 Stream
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;
}
//string转byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );

//byte[]转string:
string str = System.Text.Encoding.Default.GetString ( byteArray );

//string转ASCII byte[]:
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str );

//ASCII byte[]转string:
string str = System.Text.Encoding.ASCII.GetString ( byteArray );

//https://www.cnblogs.com/weibanggang/p/10173022.html

来源 :https://www.xuebuyuan.com/3191678.html

原文地址:https://www.cnblogs.com/shy1766IT/p/5371755.html