我正在使用Backoungdownloader来下载我的文件,我想在下载开始之前分配磁盘空间。
Ex: 我的电脑磁盘空间剩余30 Gb,我想下载29 Gb的文件。如果我可以分配内存,这可以确保我的文件将被完全下载,否则我可以在下载期间下载另一个5Gb文件,并且第一个文件没有足够的空间。
那么,有没有办法分配内存,如:
UNION
谢谢!
答案 0 :(得分:2)
您可以将Stream.SetLength用于此目的。下面是创建1GB文件的方法示例:
private async void Button_Click(object sender, RoutedEventArgs e)
{
var picker = new FileSavePicker() { SuggestedFileName = "test.txt", SuggestedStartLocation = PickerLocationId.Downloads };
picker.FileTypeChoices.Add("Space", new List<string>() { ".txt" });
var file = await picker.PickSaveFileAsync();
using (var stream = await file.OpenStreamForWriteAsync())
{
stream.SetLength(1024 * 1024 * 1024);
}
}