Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
        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!");
        }