//方法如下,我初步进行比较,好像(test1()和test2())二者没什么区别,byteData中的结果都是一样的吧?//而且,用BinaryReader(既test)好像是比较标准的写法 既然结果是一样的,
他为什么要用两个类(FileStream BinaryReader)这样不觉得多此一举吗?
class Program
{
static void Main(string[] args)
{
test1();
Console.ReadKey();
}
static void test1()
{
//把文件转换成二进制流
byte[] byteData = new byte[100];
FileStream fs = new FileStream(@"c:\1.txt", FileMode.Open, FileAccess.Read);
BinaryReader read = new BinaryReader(fs);
read.Read(byteData, 0, byteData.Length);
foreach (byte b in byteData)
{
Console.Write(" {0} ", b);
}
}
static void test2()
{
//把文件转换成二进制流
byte[] byteData = new byte[100];
FileStream fs = new FileStream(@"c:\1.txt", FileMode.Open, FileAccess.Read);
fs.Read(byteData, 0, byteData.Length);
foreach (byte b in byteData)
{
Console.Write(" {0} ", b);
}
}
}
1 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
你可以看看 BinaryReader 的其它读取方法,它可以指定 Encoding,从而实现读取字符串。
FileStream 可读可写,并且支持异步操作,还能封装非托管IO句柄,只支持文件流。
BinaryReader只能读,不支持异步操作,但支持所有继承至 Stream 的任何流,比如 NetworkStream,MemoryStream.
FileStream和BinaryReader应用了一种设计模式,你可以查查看。
- 1 回答
- 0 关注
- 409 浏览
添加回答
举报
0/150
提交
取消