zoukankan      html  css  js  c++  java
  • 将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

  • 相关阅读:
    电容的用法:去耦、旁路、滤波等
    成为出色工程师的十大要素
    常用三极管的区别 9012 9013 9014 9015 8550 8050
    照明的几个光学概念
    PCB元件封装
    为什么诈骗短信看上去那么弱智
    摄像·镜头
    LED家居照明
    光色的应用与照度范围
    PowerPCB(PADS)常见问题全集
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5371755.html
Copyright © 2011-2022 走看看