zoukankan      html  css  js  c++  java
  • 用数据流处理文件文件读取到MemoryStream中和MemoryStream写入到文件

    This code writes down MemoryStream to a file:

    FileStream file =newFileStream("file.bin",FileMode.Create,System.IO.FileAccess.Write);
    byte[] bytes =newbyte[ms.Length];
    ms.Read(bytes,0,(int)ms.Length);
    file.Write(bytes,0, bytes.Length);
    file.Close();
    ms.Close();

    and this reads a file to a MemoryStream :
    MemoryStream ms =newMemoryStream();
    FileStream file =newFileStream("file.bin",FileMode.Create,FileAccess.Read);
    byte[] bytes =newbyte[file.Length];
    file.Read(bytes,0,(int)file.Length);
    ms.Write(bytes,0,(int)file.Length);
    file.Close();
    ms.Close();

    例子:
    Stream fileStream = File.OpenRead("d:\\pp23.xls");
    
                    //FileStream fileStream = new FileStream("d:\\pp23.xls", FileMode.Open);
                    FileStream fs = new FileStream("D:\\pp23_1.xls", FileMode.Create);
    
                    
                    byte[] buffer = new byte[10000];
                    Stream outputStream = new MemoryStream(); 
                    int sourceBytes;
                    int i = 1;
                    do
                    {
                        sourceBytes = fileStream.Read(buffer, 0, buffer.Length);
                        if (i == 0)
                        {
                            foreach (byte b in buffer)
                            {
                                Console.WriteLine(b);
                            }
                        }
                        i += 1;
                        //文件写入到流中
                        if (sourceBytes != 0)
                        {
                            outputStream.Write(buffer, 0, sourceBytes);
                        }
                        //直接写入FileStream中
                        //fs.Write(buffer, 0, buffer.Length);
                        
                    }
                    while (sourceBytes > 0);
    
                    //文件写入到流中
                    byte[] bytes = new byte[outputStream.Length];
    //从开始位置读取
              outputStream.Position = 0; outputStream.Read(bytes,
    0, (int)outputStream.Length); fs.Write(bytes, 0, bytes.Length); fs.Close(); fileStream.Close(); outputStream.Close();

     

     

  • 相关阅读:
    e870. 获取默认外观的数据
    e867. 获取和设置外观
    e776. 设置JList组件项的提示语
    e775. 设置JList组件项的维数
    e781. 设置JList中的选择模式
    e784. 监听对JList选择变动
    e780. 设置JList中的已选项
    e782. 排列JList中的项
    e779. 获得JList中的已选项
    e777. 获得JList组件的所有项
  • 原文地址:https://www.cnblogs.com/blackbean/p/2618714.html
Copyright © 2011-2022 走看看