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:\Users\wjh\Desktop\321.xlsx");
            MessageBox.Show(fileStr);
            #endregion
            #region 将字符串转为文件
            BinaryToFile(@"E:\123\123.txt", fileStr);
            #endregion
        }

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

 

 

posted @ 2013-08-05 18:48  狼者为王  阅读(3930)  评论(0编辑  收藏  举报