2017-02-07 8 views
0

Мы работаем над универсальными приложениями Windows, в которых мы открываем файлы (размер которых составляет 20 МБ), используя приведенный ниже код.Как определить время, необходимое для открытия большого файла (20 МБ)?

FileOpenPicker openPicker = new FileOpenPicker(); 
openPicker.FileTypeFilter.Add(".abc"); 
StorageFile file = await openPicker.PickSingleFileAsync(); 
if (file == null) return false; 
    FlowSheetFilePath = file.Path; 

LaunchQuerySupportStatus status = await Launcher.QueryFileSupportAsync(file); 
if (status == LaunchQuerySupportStatus.Available) 
{ 
    bool didLaunch = await Launcher.LaunchFileAsync(file);        
    if (didLaunch) 
    { 
    } 
} 

В приведенном выше коде, Есть ли способ, чтобы определить, сколько времени требуется, чтобы полностью открыть файл, размер которого составляет около 20 МБ?

+2

Это ничего не значит. Истинная стоимость чтения файла - это его содержимое. «Открытие» просто требует, чтобы ОС находила файл. Поскольку это уже было сделано, FileOpenPicker выполнил это задание, запись в каталоге горячая в кеше файловой системы, и операция составляет часть миллисекунды. –

ответ

0

Невозможно. Обратите внимание, что это будет зависеть не только от конфигурации устройства/типа, но и от перегрузки процессора и т. Д.

Если ваше приложение для чтения/обрабатывает файл, который вы можете реализовать какой-то ProgressBar что будет указывать, сколько работы уже сделано (с реализацией IProgress <>) и сколько осталось, однако, что также выиграл «Помогите вам с определением времени - вы можете подумать о том, чтобы оценить время, основанное на том, что уже сделано, но это только оценка и, безусловно, со временем изменится. Но это также не поможет вам с Launcher.LaunchFileAsync (файл).