前提:
FileStream为文件的读写提供了默认的缓冲区问题:
1、这个缓冲区的大小可以改变吗?默认值是多少呢?
2、我填充一个空白文件
FileStream filestream = new FileStream(@"c:\test.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite); byte[] buffer= new byte[1024*1024*10]filestream.Write(buffer,0,buffer.Length);发现buffer的过大,并不能实际提高新建空白文件的速度,这是由于FileStream本身自带缓冲区默认大小造成的原因吗?3、在.net中有没有一种能够直接新建自定义空白文件大小的方法?
FileStream为文件的读写提供了默认的缓冲区问题:
1、这个缓冲区的大小可以改变吗?默认值是多少呢?
2、我填充一个空白文件
FileStream filestream = new FileStream(@"c:\test.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite); byte[] buffer= new byte[1024*1024*10]filestream.Write(buffer,0,buffer.Length);发现buffer的过大,并不能实际提高新建空白文件的速度,这是由于FileStream本身自带缓冲区默认大小造成的原因吗?3、在.net中有没有一种能够直接新建自定义空白文件大小的方法?
filestream.Close();
就添加了1024*1024*10字节的空白。
我试试SetLength。
还有我实验时SetLength出来的文件是空白的,不知乱码的情况什么时候会出现呢?
备注
此方法重写 SetLength。如果给定值小于流的当前长度,则截断流。如果给定值大于流的当前长度,则扩展流。如果流被扩展,则新旧长度的流之间的内容是未定义的。
"既然它提到 “则新旧长度的流之间的内容是未定义的”最好是相信MSDN的话