zoukankan      html  css  js  c++  java
  • File,FileStream,byte[]3者互相转换总结(转)

    File>>>FileStream (2种方式)
    方式1:
    FileStream fs1 = File.Open ( @"D:\集团通知.jpg" , FileMode.Open );
    方式2:
    FileStream fs2 = new FileStream ( @"D:\通知.jpg" , FileMode.Open );

    FileStream>>>byte[]
    byte [ ] b1 = new byte [ fs1.Length ];
    fs1.Read ( b1 , 0 , b1.Length );

    把文件保存到数据库中一般是File>>>FileStream>>>byte[]

    byte[]>>>File(2种方式)
    假设byte[ ] b1里面有数据
    方式1:
    File.WriteAllBytes ( @"D:\通知b2.jpg" , b1 );
    方式2:
    FileStream fs = new FileStream ( @"D:\通知b_2.jpg" , FileMode.OpenOrCreate , FileAccess.Write );
    fs.Write ( b1 , 0 , b1.Length );
    fs.Close ( );

    FileStream>>>FileStream
    有时需要把文件流写到ftp的请求流中,实际上是利用byte[]做了一个缓冲区
    Stream requestStream = uploadRequest.GetRequestStream ( );
    FileStream fileStream =  File.Open ( @"D:\abc.txt" , FileMode.Open );

    byte [ ] buffer = new byte [ 1024 ];
    int bytesRead;
    while ( true )
    {
    bytesRead = fileStream.Read ( buffer , 0 , buffer.Length );
    if ( bytesRead == 0 )
    break;
    requestStream.Write ( buffer , 0 , bytesRead );
    }

  • 相关阅读:
    自动化运维-ansible
    Linux中安装wget命令
    Celery
    SQLAlchemy
    非关系型数据库--MongoDB
    Flask框架
    Redis
    公钥与私钥
    win10 文件扩展名的更改
    if 和 elif 的区别
  • 原文地址:https://www.cnblogs.com/zhwl/p/1968113.html
Copyright © 2011-2022 走看看