首页 新闻 会员 周边 捐助

FileStream写入文件结尾的0如何处理??

0
悬赏园豆:10 [已关闭问题] 关闭于 2015-10-12 20:02

本人是初学者,今天利用FileStream类写了一个读写文件的程序,其中FileStream.Write()方法需要一个Byte类型的数组,但是数组的长度应该如何确定?如果文件对应的二进制长度小于数组,读取后再写入自动补0,文件大小也变化了。。。。,应该如何解决这个问题?

SaveFileDialog saveFile = new SaveFileDialog ();
if (saveFile.ShowDialog() == DialogResult.OK)
{
string readPath=tbFilePath.Text;
FileStream readStream=new FileStream(readPath,FileMode.Open);
string savePath = saveFile.FileName;
FileStream saveStream = new FileStream(savePath, FileMode.CreateNew);
byte[] buffer= new byte[1024*1024];
int i=0;
do
{
i= readStream.Read(buffer,0,buffer.Length);
saveStream.Write(buffer,0,buffer.Length);

}while(buffer.Length==i);
MessageBox.Show("写入成功!!!");
readStream.Dispose();
saveStream.Dispose();
}

mj120的主页 mj120 | 菜鸟二级 | 园豆:204
提问于:2015-10-12 19:37
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册