文件的读写对我们来说不应该陌生,而应该说是非常熟悉了。在学习.NET其他开发技术的时候,IO是我们必须学习的,毕竟那是数据存储与处理的最基本操作。
在Windows Store应用程序开发中,同样需要对文件的读写,但由于安全与权限的限制,我们不可能像以前那样“自由干活”了。这是有好处的,我们要知道,“板砖”应用是针对移动平台的,至少通常情况下是这样的。如果我们希望像过去一样可以自由地读写各种路径,那不妨考虑使用传统桌面应用。
其实,什么叫Windows 8应用程序开发,并不仅仅包含Store应用,只要能在Win 8上运行的程序我们都可以说是Windows 8应用,像老套一点的MFC,以前的Windows Form,以及后来的WPF等等都可以并入Windows 8应用。
在商店应用程序中,通常我们要读写的目录有两类,一类是应用程序数据文件夹,另一类是用户的文档库,至于路径,如果你认为ms-appx://和ms-appdata://不好记的话,你可以干脆不记,就算你不知道这种路径表示法也不会影响你写程序的,至于你信不信,反正我深信不疑。
现在,我们拿出文本第一个例子,看看如何利用现有API来访问应用程序的本地数据目录。
第一步,新建一个“板砖”应用项目,这个不用我说了,此处省略38个字。
第二步,布局,MainPage.xaml的XAML如下:
<Page
x:Class="App1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App1"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<RichTextBlock Margin="15">
<Paragraph FontSize="24">
<Span>本地存储目录:</Span>
<Run x:Name="rnLocal"/>
<LineBreak/>
<LineBreak/>
<Span>漫游存储目录:</Span>
<Run x:Name="rnRoaming"/>
<LineBreak/>
<LineBreak/>
<Span>临时目录:</Span>
<Run x:Name="rnTemp"/>
</Paragraph>
</RichTextBlock>
</Grid>
</Page>