zoukankan      html  css  js  c++  java
  • C# 将文件转为字符串和将字符串转为文件的方法

    下班一个小时了,迟迟不愿意回去,不知道在留恋什么,嘿嘿!这次要分享的是:将文件转为字符串和将字符串转为文件的方法,代码如下:

    将文件转为字符串的方法:

            /// <summary>  
            /// 将传进来的文件转换成字符串  
          /// </summary>  
            /// <param name="FilePath">待处理的文件路径(本地或服务器)</param>  
            /// <returns></returns>
            public string FileToBinary(string filePath)
            {
                //利用新传来的路径实例化一个FileStream对像  
                System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                //得到对象的大小
                int fileLength = Convert.ToInt32(fs.Length);
                //声明一个byte数组 
                byte[]fileByteArray=new byte[fileLength];
                //声明一个读取二进流的BinaryReader对像
                System.IO.BinaryReader br = new System.IO.BinaryReader(fs);
                for (int i = 0; i < fileLength; i++)
                {
                    //将数据读取出来放在数组中 
                    br.Read(fileByteArray,0,fileLength);
                }
                //装数组转换为String字符串
                string strData = Convert.ToBase64String(fileByteArray);
                br.Close();
                fs.Close();
                return strData;
            }

    将字符串转为文件的方法:

            /// <summary>  
            /// 将传进来的字符串保存为文件  
          /// </summary>  
            /// <param name="path">需要保存的位置路径</param>  
            /// <param name="binary">需要转换的字符串</param>  
            public void BinaryToFile(string path, string binary)
            {
                System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Create, System.IO.FileAccess.Write);
                //利用新传来的路径实例化一个FileStream对像  
                System.IO.BinaryWriter bw = new System.IO.BinaryWriter(fs);
                //实例化一个用于写的BinaryWriter  
                bw.Write(Convert.FromBase64String(binary));
                bw.Close();
                fs.Close();
            }

    客户端调用的方法:       

    private void button3_Click(object sender, EventArgs e)
            {
                #region 将文件转化为字符串
                string fileStr = FileToBinary(@"C:UserswjhDesktop321.xlsx");
                MessageBox.Show(fileStr);
                #endregion
                #region 将字符串转为文件
                BinaryToFile(@"E:123123.txt", fileStr);
                #endregion
            }

          从以上的方法可以看出,文件到字符串,字符串再到文件,其实就是文件的复制,但是,将文件转为字符串后,可以讲文件暂时以字符串保存起来,以后用到的时候可以再将字符串转为文件。注意,转换的过程中,必须是同样类型的文件,即:world文件只能转换为world文件,Excel文件只能转换为Excel文件!否则转换会出错!

  • 相关阅读:
    Centos系统下载
    Centos7 安装 docker
    Centos6 安装 docker
    yum提示Another app is currently holding the yum lock; waiting for it to exit...
    Oracle 时间字段显示不正确,类型错误
    Android 报错:error: too many padding sections on bottom border
    vs文件上传失败--超过最大字符限制
    ButterKnife 牛油刀使用
    VS项目发布到本地IIS
    Visual Studio无法调试
  • 原文地址:https://www.cnblogs.com/wangjianhui008/p/3238809.html
Copyright © 2011-2022 走看看