using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string str=FileToBinary(Server.MapPath("~/1.txt"));
BinaryToFile(Server.MapPath("~/2.txt"), str);
Response.Write("'"+str+"'");
}
/// <summary>
/// 分别用BinaryReader得Read和ReadBytes方法将任何文件转换成二进制字符串
/// </summary>
/// <param name="FilePath">文件路径</param>
/// <returns>二进制字符串</returns>
public static string FileToBinary(string FilePath)
{
FileStream fs = new FileStream(FilePath, FileMode.OpenOrCreate, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
//用ReadBytes方法更简单
Byte[] FileData = br.ReadBytes((int)fs.Length);
//用Read方法稍微多点代码
//Byte[] FileData = new byte[(int)fs.Length];
//for (int i = 0; i < fs.Length; i++)
//{
// br.Read(FileData, 0, (int)fs.Length);
//}
string strData = Convert.ToBase64String(FileData);
return strData;
}
/// <summary>
/// 将二进制字符串转换为原文件
/// </summary>
/// <param name="FilePath">文件路径</param>
/// <param name="Binary">二进制字符串</param>
public static void BinaryToFile(string FilePath, string Binary)
{
//FileStream fs = new FileStream(FilePath, FileMode.Create, FileAccess.Write);
FileStream fs = File.Open(FilePath, FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(Convert.FromBase64String(Binary));
bw.Close();
fs.Close();
}
}
浙公网安备 33010602011771号