예제 #1
0
        public async Task WriteBytesAsync(string path, byte[] bytes,
                                          PclStorageHelper.StorageStrategy location = PclStorageHelper.StorageStrategy.Local)
        {
            var file = await PclStorageHelper.GetFileAsync(path, location).DontMarshall();

            using (var fileStream = await file.OpenStreamForWriteAsync().DontMarshall())
            {
                if (fileStream.Length > 0)
                {
                    fileStream.SetLength(0);
                }
                await fileStream.WriteAsync(bytes, 0, bytes.Length).DontMarshall();
            }
        }
예제 #2
0
        public async Task <Stream> ReadStreamAsync(
            string path,
            bool ifExists = false,
            PclStorageHelper.StorageStrategy location = PclStorageHelper.StorageStrategy.Local)
        {
            var file = await(ifExists
                        ? PclStorageHelper.GetIfFileExistsAsync(path, location)
                        : PclStorageHelper.GetFileAsync(path, location)).DontMarshall();

            if (file == null)
            {
                return(null);
            }
            return(await file.OpenStreamForReadAsync().DontMarshall());
        }
예제 #3
0
        public async Task WriteStreamAsync(string path, Stream stream,
                                           PclStorageHelper.StorageStrategy location = PclStorageHelper.StorageStrategy.Local)
        {
            var file = await PclStorageHelper.GetFileAsync(path, location).DontMarshall();

            using (var fileStream = await file.OpenStreamForWriteAsync().DontMarshall())
            {
                if (stream.Position > 0)
                {
                    stream.Seek(0, SeekOrigin.Begin);
                }
                if (fileStream.Length > 0)
                {
                    fileStream.SetLength(0);
                }
                await stream.CopyToAsync(fileStream).DontMarshall();
            }
        }
예제 #4
0
        public async Task <byte[]> ReadBytesAsync(
            string path,
            bool ifExists = false,
            PclStorageHelper.StorageStrategy location = PclStorageHelper.StorageStrategy.Local)
        {
            var file = await(ifExists
                        ? PclStorageHelper.GetIfFileExistsAsync(path, location)
                        : PclStorageHelper.GetFileAsync(path, location)).DontMarshall();

            if (file == null)
            {
                return(null);
            }
            using (var stream = await file.OpenStreamForReadAsync().DontMarshall())
            {
                var bytes = new byte[stream.Length];
                await stream.ReadAsync(bytes, 0, bytes.Length).DontMarshall();

                return(bytes);
            }
        }
예제 #5
0
 public async Task <bool> ExistsAsync(
     string path,
     PclStorageHelper.StorageStrategy location = PclStorageHelper.StorageStrategy.Local)
 {
     return(await PclStorageHelper.FileExistsAsync(path, location).DontMarshall());
 }