麻烦大大们帮个忙 本帖最后由 roaley 于 2011-10-13 18:05:17 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你先把文本切成2个字符的小字符串,然后用Convert.ToByte(string,16)来得到byte,具体代码不写了, Convert.ToByte转化为16进制数据FileStream对象向path路径中写入数据。 2字符对应一个byte,用Convert.ToByte转。转出Byte[],直接用File.WriteAllBytes 写为文件。 本帖最后由 caozhy 于 2011-10-14 00:23:11 编辑 局域网聊天的程序,也是将用户发送的字符串转为二进制后再转回来,你参考一下,注意SerializeBinary和DeSerializeBinary。希望能帮到你:using System;using System.IO ;namespace MSG{ /// <summary> /// ClassSerializers 的摘要说明。 /// </summary> public class ClassSerializers { public ClassSerializers() { // // TODO: 在此处添加构造函数逻辑 // } #region Binary Serializers public System.IO.MemoryStream SerializeBinary(object request) { System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); System.IO.MemoryStream memStream = new System.IO.MemoryStream(); serializer.Serialize(memStream, request); return memStream; } public object DeSerializeBinary(System.IO.MemoryStream memStream) { memStream.Position=0; System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); object newobj = deserializer.Deserialize(memStream); memStream.Close(); return newobj; } #endregion #region XML Serializers public System.IO.MemoryStream SerializeSOAP(object request) { System.Runtime.Serialization.Formatters.Soap.SoapFormatter serializer = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter(); System.IO.MemoryStream memStream = new System.IO.MemoryStream(); serializer.Serialize(memStream, request); return memStream; } public object DeSerializeSOAP(System.IO.MemoryStream memStream) { object sr; System.Runtime.Serialization.Formatters.Soap.SoapFormatter deserializer = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter(); memStream.Position=0; sr = deserializer.Deserialize(memStream); memStream.Close(); return sr; } #endregion }} #region 获得要发送的 文本消息 序列化后的字节数据 private byte[] GetSendString()//获得要发送的序列化字串 { this.SendTextMsg=GetSendTextMsg(); return ( new MSG.ClassSerializers().SerializeBinary(this.SendTextMsg).ToArray()); } #endregion #region 收到对方发送过来的 文本消息 public void newTextMsg(byte[] content,string title,Font titleFont,Color titleColor)//收到对方发送过来文本消息 { MSG.MyExtRichTextBox rich =new MyExtRichTextBox(); MSG.ClassTextMsg textMsg=(new ClassSerializers().DeSerializeBinary(new System.IO.MemoryStream(content)) as ClassTextMsg); rich.Dispose(); this.RTBRecord.AppendText(textMsg.MsgContent +"\n"); } #endregion 这个异常为什么会让程序终止,表示不解! 怎么把excel里一个sheet页的内容复制粘贴到当前workbook的另外一个sheet页? C#现在比Java的优势很大么? C#的webform里——如何在DataGrid里面产生滚动条? 如何判断textBox里输入的是金额 数据填充问题 请问谁有C#的试题啊,我去面试可能要做笔试啊 请问FlowLayoutPanel控件中当WrapContents=true,flowDirection=LeftToRight添加控件时怎么实现手动换行 如何跟踪IIS的访问情况! 求uub代码htm代码互转正则表达式(没分了,但有点难) C#反射问题求助(在线求助) 问个弱智的问题,在线等
FileStream对象向path路径中写入数据。
局域网聊天的程序,也是将用户发送的字符串转为二进制后再转回来,你参考一下,注意SerializeBinary和DeSerializeBinary。希望能帮到你:
using System;
using System.IO ;namespace MSG
{
/// <summary>
/// ClassSerializers 的摘要说明。
/// </summary>
public class ClassSerializers
{
public ClassSerializers()
{
//
// TODO: 在此处添加构造函数逻辑
//
} #region Binary Serializers
public System.IO.MemoryStream SerializeBinary(object request)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
serializer.Serialize(memStream, request);
return memStream;
} public object DeSerializeBinary(System.IO.MemoryStream memStream)
{
memStream.Position=0;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);
memStream.Close();
return newobj;
}
#endregion #region XML Serializers public System.IO.MemoryStream SerializeSOAP(object request)
{ System.Runtime.Serialization.Formatters.Soap.SoapFormatter serializer = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
serializer.Serialize(memStream, request);
return memStream;
} public object DeSerializeSOAP(System.IO.MemoryStream memStream)
{
object sr;
System.Runtime.Serialization.Formatters.Soap.SoapFormatter deserializer = new System.Runtime.Serialization.Formatters.Soap.SoapFormatter();
memStream.Position=0;
sr = deserializer.Deserialize(memStream);
memStream.Close();
return sr;
} #endregion
}
} #region 获得要发送的 文本消息 序列化后的字节数据
private byte[] GetSendString()//获得要发送的序列化字串
{
this.SendTextMsg=GetSendTextMsg();
return ( new MSG.ClassSerializers().SerializeBinary(this.SendTextMsg).ToArray());
}
#endregion #region 收到对方发送过来的 文本消息 public void newTextMsg(byte[] content,string title,Font titleFont,Color titleColor)//收到对方发送过来文本消息
{
MSG.MyExtRichTextBox rich =new MyExtRichTextBox();
MSG.ClassTextMsg textMsg=(new ClassSerializers().DeSerializeBinary(new System.IO.MemoryStream(content)) as ClassTextMsg);
rich.Dispose();
this.RTBRecord.AppendText(textMsg.MsgContent +"\n");
} #endregion