加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

将文件转换成二进制,再由二进制转换成文件 (转)

(2012-05-31 12:45:54)
标签:

字符串

转换

数组

二进制

命名空间

杂谈

分类: 技术问题

//引入命名空间

using System.IO;

    protected void Page_Load(object sender, EventArgs e)
    {//调用以下两个方法进行转换
        string fileBinary = FileToBinary(@"E:\1.png");
        //调用FileToBinary方法将传进来的文件转换成字符串
        BinaryToFile(Server.MapPath("~/2.png"), fileBinary);
        //调用BinaryToFile方法将字符串再转换成文件
    }

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

        string strData = Convert.ToBase64String(fileByteArray);
        //装数组转换为String字符串
        return strData;
    }

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

 

http://blog.csdn.net/houxh86/article/details/6640430

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有