欢迎光临

木子屋

标题: C#使用BinaryWriter和BinaryReader读写文件

作者: dnawo

日期: 2010-01-18 12:04 AM

分类: Web编程

内容: C#的FileStream类提供了最原始的字节级上的文件读写功能，但我们习惯于对字符串操作，于是StreamWriter和StreamReader类增强了FileStream，它让我们在字符串级别上操作文件，但有的时候我们还是需要在字节级上操作文件，却又不是一个字节一个字节的操作，通常是2个、4个或8个字节这样操作，这便有了BinaryWriter和BinaryReader类，它们可以将一个字符或数字按指定个数字节写入，也可以一次读取指定个数字节转为字符或数字：
复制内容到剪贴板 程序代码//写入
using (FileStream fs = new FileStream(@"D:\Binary", FileMode.Create))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
writer.Write(true);
writer.Write((byte)1); //用1个字节写入
writer.Write((short)2); //用2个字节写入
writer.Write((int)3); //用4个字节写入
writer.Write((long)4); //用8个字节写入
writer.Write(new byte[] { 0xFF, 0xD9 });
}
}
//读取
using (FileStream fs = new FileStream(@"D:\Binary", FileMode.Open, FileAccess.Read))
{
using (BinaryReader reader = new BinaryReader(fs))
{
Console.WriteLine(reader.ReadBoolean());
Console.WriteLine(reader.ReadByte()); //一次读取1个字节转为byte
Console.WriteLine(reader.ReadInt16()); //一次读取2个字节转为short
Console.WriteLine(reader.ReadInt32()); //一次读取4个字节转为int
Console.WriteLine(reader.ReadInt64()); //一次读取8个字节转为long
byte[] b = reader.ReadBytes(2);
for (int i = 0; i < b.Length; i++)
Console.Write(Convert.ToString(b[i], 16) + " ");
}
}

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.785 ms

返回

标题: C#使用BinaryWriter和BinaryReader读写文件

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.785 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.816 ms

返回