c#文件的存取 C#语言,从数据库中读取出来的数据如何以二进制的形式存入文件当中,存好后这个文件用记事本打开是乱码(二进制)的形式。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然是乱码了,你保存的又不是文档内容,而是二进制,也许txt根本识别不了文件格式,如果保存的是txt文本的二进制,那么读出来后,要转为字符串,或者存为txt文档打开 byte[] bytData = ...; //从数据库二进制字段中读取的数据 string strData = System.Text.Encoding.Default.GetString(bytData); //注意编码格式要一致 System.IO.StreamWriter sw = new System.IO.StreamWriter("c:\a.txt",false,System.Text.Encoding.Default); sw.WriteLine(strData); sw.Close(); string fileName = "MyNew.data"; if (File.Exists(fileName)) { MessageBox.Show("当前文件已经存在"); } else { FileStream fs = new FileStream(fileName, FileMode.Create); BinaryWriter writer = new BinaryWriter(fs); writer.Write(textBox1.Text); for (int i = 0; i < 300; i++) { writer.Write(10 + i); } MessageBox.Show("写入文件成功"); textBox1.Text = ""; writer.Close(); fs.Close(); }你可以参考一下,这个就是二进制 我现在就想打开文件的时候是乱码,可是每次用binarywrite这个类进行写入的时候,打开还是文本格式的,没有达到二进制乱码的效果 如果数据库中直接就是二进制数据,直接写到文件就可以了File.WriteAllBytes 主要是要指定编码的。。DataSet result = .....//你的查询结果using(FileStream destinationStream = new FileStream(@"C:\a.txt", FileMode.Create, FileAccess.Write)){ try{ new BinaryFormatter().Serialize(destinationStream, result); } catch(Exception ex){throw ex;} finally{destinationStream.Close();}} 这个主要是用DataSet序列化来做的。 如果数据库中存的是文本,就加密下,或者转换下 再保存。简单的转换可以用Base64编码,Convert.ToBase64String() 虽然还是文本,但是没法读了。 如何实现跨域登陆 c#开发active控件 如何通过get或者post访问这个页面,让他执行onload事件 求书````关于重写控件的书``` 关于<authentication mode="Forms">的问题 DataTable 查询问题搞得我郁闷一天了 Installutil.exe 对目录有什么要求啊? 如何在windows窗体上动态绘制折线图 (web)C# + ArcGIS + Oracle数据库 搭配方案中,可能出瓶颈的地方在哪里?谢谢~! 十万火急,高手进 读取文件夹下的文件夹 【求助】MVC显示多少个表的数据(文字和图片显示)
string strData = System.Text.Encoding.Default.GetString(bytData); //注意编码格式要一致
System.IO.StreamWriter sw = new System.IO.StreamWriter("c:\a.txt",false,System.Text.Encoding.Default);
sw.WriteLine(strData);
sw.Close();
if (File.Exists(fileName))
{
MessageBox.Show("当前文件已经存在");
}
else
{
FileStream fs = new FileStream(fileName, FileMode.Create);
BinaryWriter writer = new BinaryWriter(fs);
writer.Write(textBox1.Text);
for (int i = 0; i < 300; i++)
{
writer.Write(10 + i);
}
MessageBox.Show("写入文件成功");
textBox1.Text = "";
writer.Close();
fs.Close();
}你可以参考一下,这个就是二进制
如果数据库中直接就是二进制数据,直接写到文件就可以了
File.WriteAllBytes
DataSet result = .....//你的查询结果
using(FileStream destinationStream = new FileStream(@"C:\a.txt", FileMode.Create, FileAccess.Write)){
try{
new BinaryFormatter().Serialize(destinationStream, result);
}
catch(Exception ex){throw ex;}
finally{destinationStream.Close();}
}