在UWP中为StorageFile分配磁盘空间

时间:2017-09-22 19:36:58

标签: c# uwp

我正在使用Backoungdownloader来下载我的文件,我想在下载开始之前分配磁盘空间。

Ex: 我的电脑磁盘空间剩余30 Gb,我想下载29 Gb的文件。如果我可以分配内存,这可以确保我的文件将被完全下载,否则我可以在下载期间下载另一个5Gb文件,并且第一个文件没有足够的空间。

那么,有没有办法分配内存,如:

UNION

谢谢!

1 个答案:

答案 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);
    }
}