gpt4 book ai didi

c# - 在写入文件之前创建文件并分配存储空间

转载 作者:行者123 更新时间:2023-11-30 16:58:59 34 4
gpt4 key购买 nike

我有一个文件,随着时间的推移,它会写入 GB 的数据(一旦到达末尾就循环)。我想提前创建文件并预设存储空间,以便在写入文件期间所需的存储空间不会被其他下载占用。这是使用 C# 中的 visual studio 2012 完成的。

我试过:

 if (fileSizeRequirement or fileName is changed) //if filePath or file size is changed 
{
//Open or create the file, set the file to size requirement, close the filestream
fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fileStream.SetLength((long)fileSizeRequirement);
fileStream.Close();
}

1) 这是为文件夹“预分配”空间的适当方式吗?2) SetLength 设置长度后是否需要查找到开头或文件夹中的位置是否停留在开头?3) 实现文件预分配存储空间的正确方法是什么?

提前致谢,感谢任何建议。

最佳答案

使用 SetLength 是一种常见的方法,尽管我通常在这里使用 using 语句。

using(var fileStream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
fileStream.SetLength((long)fileSizeRequirement);
}

SetLength 之后直接调用 fileStream.Position 会产生 0,因此您不需要寻找到开头。

关于c# - 在写入文件之前创建文件并分配存储空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393457/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com