用BinaryReader与FileStream的Read方法读出的byte数组有什么不同
1个回答
展开全部
classProgram
{staticvoidMain(string[] args){test1();Console.ReadKey();
}staticvoidtest1()
{//把文件转换成二进制流byte[] byteData =newbyte[100];
FileStream fs=newFileStream(@"c:\1.txt", FileMode.Open, FileAccess.Read);
BinaryReader read=newBinaryReader(fs);
read.Read(byteData,0, byteData.Length);foreach(bytebinbyteData){Console.Write("{0}", b);}}staticvoidtest2()
{//把文件转换成二进制流byte[] byteData =newbyte[100];
FileStream fs=newFileStream(@"c:\1.txt", FileMode.Open, FileAccess.Read);
fs.Read(byteData,0, byteData.Length);foreach(bytebinbyteData){Console.Write("{0}", b);}}}回答1:你可以看看 BinaryReader 的其它读取方法,它可以指定 Encoding,从而实现读取字符串。
FileStream 可读可写,并且支持异步操作,还能封装非托管IO句柄,只支持文件流。
BinaryReader只能读,不支持异步操作,但支持所有继承至 Stream 的任何流,比如 NetworkStream,MemoryStream.
{staticvoidMain(string[] args){test1();Console.ReadKey();
}staticvoidtest1()
{//把文件转换成二进制流byte[] byteData =newbyte[100];
FileStream fs=newFileStream(@"c:\1.txt", FileMode.Open, FileAccess.Read);
BinaryReader read=newBinaryReader(fs);
read.Read(byteData,0, byteData.Length);foreach(bytebinbyteData){Console.Write("{0}", b);}}staticvoidtest2()
{//把文件转换成二进制流byte[] byteData =newbyte[100];
FileStream fs=newFileStream(@"c:\1.txt", FileMode.Open, FileAccess.Read);
fs.Read(byteData,0, byteData.Length);foreach(bytebinbyteData){Console.Write("{0}", b);}}}回答1:你可以看看 BinaryReader 的其它读取方法,它可以指定 Encoding,从而实现读取字符串。
FileStream 可读可写,并且支持异步操作,还能封装非托管IO句柄,只支持文件流。
BinaryReader只能读,不支持异步操作,但支持所有继承至 Stream 的任何流,比如 NetworkStream,MemoryStream.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询