十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要讲解了“C#怎么读写Binary”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么读写Binary”吧!
10年的四平网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整四平建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“四平网站设计”,“四平网站推广”以来,每个客户项目都认真落实执行。
关于Binary方式
Binary和文本方式的区别,主要是在一些特殊字符的处理。
由于在不同的系统中,文本中用于显示格式的控制符编码是不同的。比如windows 的文本回车是0x13 0x10两个字符,而unix是0x10。如果是以文本方式打开,就会做一些转换。这样就不能保证从文件中读取到的内容和原来的完全一致,但能保证输出文本是显示的正确。而以Binary方式打开,内容完全一致,但在不同系统上输出可能不一样。
如果你读取的内容需要由系统显示,***用文本方式(由于很多C/C++编译器的输出函数能适用多种格式,所以用Binary方式通常也不会有问题)。如果要保证读取的和文件一致,就一定要用Binary方式。
C#编程实例-读写Binary
public MemoryStream getBlob(string SQL) ...{ try ...{ Db_Conn(); cmd = new OleDbCommand(SQL, Conn); cmd.CommandType = CommandType.Text;//是sql OleDbDataReader Rs = cmd.ExecuteReader(); if (Rs.Read()) //循环到下一条记录 ...{ if (!(Rs.GetValue(0) is System.DBNull)) ...{ byte[] image_bytes = (byte[])Rs.GetValue(0); MemoryStream ms = new MemoryStream(image_bytes); return ms; } else return null; } else return null; } finally ...{ this.close(); } } //设置blob public bool SetBlob(string SQL, MemoryStream Ms) ...{ try ...{ Db_Conn(); cmd = new OleDbCommand(SQL, Conn); cmd.CommandType = CommandType.Text;//是sql int n=Convert.ToInt32(Ms.Length.ToString()); Ms.Position = 0; byte[] pReadByte = new Byte[n]; Ms.Read(pReadByte, 0, n); cmd.Parameters.Add("BLOB", OleDbType.Binary).Value = pReadByte; cmd.ExecuteNonQuery(); return true; } catch (Exception ex) ...{ MessageBox.Show("错误:因" + ex.Message + ",无法执行:" + SQL); return false; } finally ...{ this.close(); } }
C#编程实例-读写Binary 调用getBlob代码
String sqlStr = "select content from dp where id=" + ID; //content为dp中的BLOB字段,ID为主键 MemoryStream ms = DBClass.getBlob(sqlStr); if (ms == null) richTextBox.Clear(); else ...{ if (ms.Length > 0) ...{ ms.Position = 0; try ...{ richTextBox.LoadFile(ms, RichTextBoxStreamType.RichText); }catch...{ richTextBox.LoadFile(ms, RichTextBoxStreamType.PlainText); } }else richTextBox.Clear(); }
C#编程实例-读写Binary 调用setBlob代码
String sqlStr = "update dp set content=:BLOB where id=" + ID; MemoryStream ms = new MemoryStream(); richTextBox.SaveFile(ms, RichTextBoxStreamType.RichText); if (!DBClass.SetBlob(sqlStr, ms)) ...{ MessageBox.Show("保存失败"); }
感谢各位的阅读,以上就是“C#怎么读写Binary”的内容了,经过本文的学习后,相信大家对C#怎么读写Binary这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!