是否可以创建一个没有实际文件的文件流?
让我来解释一下:
我知道如何从实际文件中创建流:
FileStream s = new FileStream("FilePath", FileMode.Open, FileAccess.Read);
但我能否用假文件创建一个FileStream呢?
意思是:
定义文件对象的属性,例如名称、类型、大小或其他必要属性,但不包含实际内容,
然后从这个“文件”创建一个FileStream?能否得到与上面代码类似的结果?
编辑:
我正在使用一个带有该代码的API示例。
FileStream s = new FileStream("FilePath", FileMode.Open, FileAccess.Read);
try
{
SolFS.SolFSStream stream = new SolFS.SolFSStream(Storage, FullName, true, false, true, true, true, "pswd", SolFS.SolFSEncryption.ecAES256_SHA256, 0);
try
{
byte[] buffer = new byte[1024*1024];
long ToRead = 0;
while (s.Position < s.Length)
{
if (s.Length - s.Position < 1024*1024)
ToRead = s.Length - s.Position;
else
ToRead = 1024 * 1024;
s.Read(buffer, 0, (int) ToRead);
stream.Write(buffer, 0, (int) ToRead);
}
因此,它基本上将文件流“s”写入某个地方。
我不想取一个现有的文件并将其写入,而是想要“创建”一个不带内容(我不需要内容)但具有真实文件的属性,如大小、名称、类型的不同文件。
MemoryStream
可能 对你来说已经足够好了,但我们不知道你想要实现什么目标。 - Jon SkeetFileMode.Create
的东西就好了。 - TobberothFileStream
是一个Stream
。不需要进行任何转换。此外,当你拥有一个FileStream
时,你自动拥有一个文件,因为FileStream
就像是文件的面向对象表示。没有没有文件的FileStream
,尽管有一些不由文件支持但行为基本相同的不同流类型。 - O. R. MapperFileStream
呢? - w128