public static StorageFile GetFile(string path, FileOperationMode mode) { path = StorageUtility.ConvertPathSeparators(path); StorageFile storageFile; try { storageFile = StorageUtility.GetFileFromPath(path); } catch (Exception ex) { if (mode == FileOperationMode.Append || mode == FileOperationMode.Create) { return(StorageUtility.CreateFile(path)); } throw ex; } if (mode == FileOperationMode.Create) { StorageFile storageFile2 = StorageUtility.CreateFileAtPath(StorageUtility.ConvertPathSeparators(Application.temporaryCachePath), "temp", 0); StorageUtility.MoveAndReplaceFile(storageFile2, storageFile); storageFile = storageFile2; } return(storageFile); }
public static Stream GetOutputStream(string path, FileOperationMode mode) { StorageFile file = StorageUtility.GetFile(path, mode); Task <Stream> task = WindowsRuntimeStorageExtensions.OpenStreamForWriteAsync(file); task.Wait(); Stream result = task.Result; if (mode == FileOperationMode.Append) { result.Seek(0L, SeekOrigin.End); } return(result); }
public static string EnumToTranslatedString(FileOperationMode mode) { switch (mode) { case FileOperationMode.Copy: return(Properties.Resources.FileCopyMode); case FileOperationMode.Move: return(Properties.Resources.FileMoveMode); default: break; } throw new ArgumentException("Unknow file operating mode!"); }