admin管理员组文章数量:1487745
Win8 文件相关操作
1.文件选择
var openPicker = new FileOpenPicker { ViewMode = PickerViewMode.Thumbnail, SuggestedStartLocation = PickerLocationId.ComputerFolder }; openPicker.FileTypeFilter.Add("*"); StorageFile file = await openPicker.PickSingleFileAsync();
2.获取文件大小
BasicProperties pro = await file.GetBasicPropertiesAsync(); UInt64 size = pro.Size;
3.convert StorageFile to byte[]
- var bytes = await GetBtyeFromFile(file);
- // This is the method to convert the StorageFile to a Byte[]
- private async Task GetBtyeFromFile(StorageFile storageFile)
- {
- var stream = await storageFile.OpenReadAsync();
- using (var dataReader = new DataReader(stream))
- {
- var bytes = new byte[stream.Size];
- await dataReader.LoadAsync((uint)stream.Size);
- dataReader.ReadBytes(bytes);
- return bytes;
- }
- }
4.convert the Byte[] to an Image
- var stream = new MemoryStream(bytes);
- var randomAccessStream = new MemoryRandomAccessStream(stream);
- var bi = new BitmapImage();
- bi.ImageFailed += (s, o) =>
- {
- // This event is optional and is used to let us know if something went wrong
- var m = "Failure;
- };
- bi.SetSource(randomAccessStream);
5.获取文件MD5
private async Task<string> GetMd5(StorageFile file) { HashAlgorithmProvider alg = Windows.Security.Cryptography.Core.HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Md5); var stream = await file.OpenStreamForReadAsync(); var inputStream = stream.AsInputStream(); const uint capacity = 100000000; var buffer = new Windows.Storage.Streams.Buffer(capacity); var hash = alg.CreateHash(); while (true) { await inputStream.ReadAsync(buffer, capacity, InputStreamOptions.None); if (buffer.Length > 0) hash.Append(buffer); else break; } string hashText = CryptographicBuffer.EncodeToHexString(hash.GetValueAndReset()).ToUpper(); inputStream.Dispose(); stream.Dispose(); return hashText; }
6. 生成GUID
1、Guid.NewGuid().ToString("N") 结果为: 38bddf48f43c48588e0d78761eaa1ce6
2、Guid.NewGuid().ToString("D") 结果为: 57d99d89-caab-482a-a0e9-a0a803eed3ba
3、Guid.NewGuid().ToString("B") 结果为: {09f140d5-af72-44ba-a763-c861304b46f8}
4、Guid.NewGuid().ToString("P") 结果为: (778406c2-efff-4262-ab03-70a77d09c2b5)
默认第2种效果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2014-02-24,如有侵权请联系 cloudcommunity@tencent 删除filestreamtostringvarbuffer本文标签: Win8 文件相关操作
版权声明:本文标题:Win8 文件相关操作 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/shuma/1754902980a3181069.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论