设为首页 收藏本站
查看: 731|回复: 0

Windows Phone 7 Isolated Storage-读取、保存二进制文件

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-11 10:34:14 | 显示全部楼层 |阅读模式
  二进制文件一般被认为是一组序列字节。一般来说一个二进制文件可能包含任何形式的二进制编码的数据类型。例如:.mp3文件,.jpg文件,.db文件都可以看做二进制文件。本篇内容将以MP3文件为例。
  首先创建一个Windows Phone 7项目,在项目中添加一个MP3文件例如“Battery_Low.mp3”,然后在MainPage.xaml.cs(或其他页面文件)中引入命名空间:

1 using System.IO.IsolatedStorage;  
2 using System.IO;  
3 using System.Windows.Resources;   
  保存MP3文件到隔离存储空间
  示例中首先检查文件是否已经存在,然后把“Battery_Low.mp3”文件保存到隔离存储空间。
  我们首先创建一个文件流,然后使用BinaryWriter和BinaryReader在隔离层存储空间中创建一个新的MP3文件并且把“Battery_Low.mp3”的数据复制过去。
  提示:分块读取文件有利于减少内存消耗和提高性能。

01 private const string FileName = "Battery_Low.mp3";  
02 private void btnSave_Click(object sender, RoutedEventArgs e)  
03 {  
04     StreamResourceInfo streamResourceInfo = Application.GetResourceStream(new Uri(FileName, UriKind.Relative));  
05     
06     using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())  
07     {  
08         if (myIsolatedStorage.FileExists(FileName))  
09         {  
10             myIsolatedStorage.DeleteFile(FileName);  
11         }  
12     
13         using (IsolatedStorageFileStream fileStream = new IsolatedStorageFileStream(FileName, FileMode.Create, myIsolatedStorage))  
14         {  
15             using (BinaryWriter writer = new BinaryWriter(fileStream))  
16             {  
17                 Stream resourceStream = streamResourceInfo.Stream;  
18                 long length = resourceStream.Length;  
19                 byte[] buffer = new byte[32];  
20                 int readCount = 0;  
21                 using (BinaryReader reader = new BinaryReader(streamResourceInfo.Stream))  
22                 {  
23                     // read file in chunks in order to reduce memory consumption and increase performance  
24                     while (readCount < length)  
25                     {  
26                         int actual = reader.Read(buffer, 0, buffer.Length);  
27                         readCount += actual;  
28                         writer.Write(buffer, 0, actual);  
29                     }  
30                 }  
31             }  
32         }  
33     }  
34 }   
  从隔离存储空间中读取MP3文件
  示例中首先从隔离存储空间打开了一个名为Battery_Low.mp3的文件,并且把内容设置为一个媒体元素的数据源。

01 private void btnRead_Click(object sender, RoutedEventArgs e)  
02 {  
03     using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())  
04     {  
05         using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile(FileName, FileMode.Open, FileAccess.Read))  
06         {  
07             this.mediaElement.SetSource(fileStream);  
08         }  
09     }  
10 }   提示:"mediaElement"是一个在MainPage.xaml中的媒体元素:
  本文来自Zdave的博客,原文地址:http://www.iyunv.com/zdave/archive/2011/06/09/2076337.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65751-1-1.html 上篇帖子: MIX10大会Windows Phone 7相关课程视频在线观看 下篇帖子: Windows 7 Build 6801使用感受(二):全新的任务栏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表