Windows Phone 八、文件读写IO

文件存储的类型
•本地应用文件:
•ApplicationData.Current.LocalFolder;
•漫游应用文件:
•ApplicationData.Current.RoamingFolder;
•临时应用文件:
•ApplicationData.Current.TemporaryFolder;
文件IO
 1     <StackPanel>
 2         <StackPanel Orientation="Horizontal">
 3             <Button 
 4             x:Name="btnSave"
 5             Content="Save"
 6             Click="btnSave_Click"/>
 7             <Button
 8                 x:Name="btnGet"
 9                 Content="Get"
10                 Click="btnGet_Click"/>
11         </StackPanel>
12         <TextBlock x:Name="txt" Height="500"/>
13     </StackPanel>
 1 //拿到本地文件夹对象
 2         StorageFolder folder = ApplicationData.Current.LocalFolder;
 3         private async void btnSave_Click(object sender, RoutedEventArgs e)
 4         {
 5             //写入操作
 6             var text = txt.Text;
 7             //通过文件夹创建文件
 8             var file = await folder.CreateFileAsync("temp.txt", CreationCollisionOption.ReplaceExisting);
 9             //写入文本到文件中,仅适用于小文件写入
10             //await FileIO.AppendTextAsync(file, text);//小文件读写
11 
12             //使用文件流的形式写入文件
13             using (var stream = await file.OpenStreamForWriteAsync())
14             {
15                 using (var writer = new StreamWriter(stream))
16                 {
17                     await writer.WriteAsync(text);
18                 }
19             }
20         }
21         private async void btnGet_Click(object sender, RoutedEventArgs e)
22         {
23             //打开一个现有文件,注意:没有文件则报异常
24             var file = await folder.GetFileAsync("temp.txt");
25             //var text = await FileIO.ReadTextAsync(file);
26             //txt.Text = text;
27 
28             //使用文件流去读取文件
29             using (var stream = await file.OpenStreamForReadAsync())
30             {
31                 using (var reader = new StreamReader(stream))
32                 {
33                     txt.Text = await reader.ReadToEndAsync();
34                 }
35             }
36         }
拷贝和剪切

//获取本地文件夹对象

var localFolder = ApplicationData.Current.LocalFolder;

//根据文件名获取文件对象

var file = await localFolder.GetFileAsync("temp.txt");

//拷贝目标文件夹

var myFolder = await localFolder.CreateFolderAsync("MyFolder", CreationCollisionOption.OpenIfExists);

//拷贝到制定文件夹

var newFile = await file.CopyAsync(myFolder, "new.txt",NameCollisionOption.ReplaceExisting);

//移动到新路径

await file.MoveAsync(myFolder);

删除和重命名

//获取本地文件夹对象

var localFolder = ApplicationData.Current.LocalFolder;

//根据文件名获取文件对象

var file = await localFolder.GetFileAsync("temp.txt");

//对文件进行重命名操作

await file.RenameAsync("temp2.txt");

//删除文件

await file.DeleteAsync();

原文地址:https://www.cnblogs.com/includeling/p/4580728.html