如果您使用其中一种FileStream
构造函数,则可以以字节为单位指定缓冲区大小,但如果使用File.OpenRead
则不能。第二种情况下使用的缓冲区大小的默认值是多少?
问问题
844 次
2 回答
4
从4096
这个构造函数中可以看出:
[SecuritySafeCritical]
public FileStream(string path, FileMode mode, FileAccess access, FileShare share)
: this(path, mode, access, share, 4096,
FileOptions.None, Path.GetFileName(path), false)
{
}
这是由以下调用的构造函数OpenRead
:
public static FileStream OpenRead(string path)
{
return new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
}
于 2013-09-06T12:08:02.657 回答
4
使用 Telerik JustDecompile 看代码,是 4096 B:
public static FileStream OpenRead(string path)
{
return new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
}
public FileStream(string path, FileMode mode, FileAccess access, FileShare share) : this(path, mode, access, share, 4096, FileOptions.None, Path.GetFileName(path), false)
{
}
于 2013-09-06T12:09:24.900 回答