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

  • 相关阅读:
    .NET Core WEB API使用Swagger生成在线接口文档
    .NET Core WEB API中接口参数的模型绑定的理解
    .Net Core使用视图组件(ViewComponent)封装表单文本框控件
    在有主分支和个人分支情况下的TFS使用方法
    SQL Server Profiler (SQl跟踪器)的简单使用
    C# 多线程下的单例模式
    C# 单例模式
    .net core MVC接受来自自前端的GET和POST请求方法的区别
    《Windows Phone 8 Development Internals》读书笔记-1-2-2-连载
    《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5371755.html
Copyright © 2011-2022 走看看