亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Windows > 正文

Windows 8技巧:關于windows 8的文件管理 File創建和String Stream Buffer方式讀寫的

2019-11-28 03:38:18
字體:
來源:轉載
供稿:網友

  在本文中我們將學習Windows 8中的文件創建和多種讀寫方式以及設置文檔庫訪問權限和文件類型的訪問。

  當然我們需要做以下準備工作:

  首先:設置程序允許訪問的文件位置為:"庫/文檔",設置方法:點擊”Package.appxmanifest“,然后選擇”功能“選項卡,在功能列表中勾選”文檔庫訪問“。如下圖:

  其次:設置程序允許以上文件夾內的文件類型,本實例中設置為txt后綴的文件:設置方法:點擊”Package.appxmanifest“,然后選擇”聲明“選項卡,在可用聲明下拉列表中選擇”文件類型關聯“,點擊”添加“按鈕,并且在右邊的列表中添加”支持的文件類型為.txt,并且設置名稱為txt,當然你也可以繼續添加允許訪問dat文件等,如下圖:

  準備工作做好了,我們需要創建一個項目,然后寫入一下代碼進行訪問文件以及文件夾,創建文件和讀寫文件。

Xaml代碼:

復制代碼
代碼如下:

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<!--顯示區-->
<TextBlock HorizontalAlignment="Left" Margin="137,42,0,0" TextWrapping="Wrap" Text="文件名:"
VerticalAlignment="Top" Height="23" Width="43"/>
<TextBox HorizontalAlignment="Left" Margin="185,33,0,0" TextWrapping="Wrap"
Text="test.txt" VerticalAlignment="Top" Width="121" Name="tbFileName"/>
<TextBox HorizontalAlignment="Left" Margin="457,33,0,0" TextWrapping="Wrap"
Text="默認需要添加的文件內容" VerticalAlignment="Top" Width="431" Name="tbContent"/>
<TextBlock HorizontalAlignment="Left" Margin="396,42,0,0" TextWrapping="Wrap" Text="文件內容:"
VerticalAlignment="Top" Height="23" Width="61"/>
<TextBlock HorizontalAlignment="Left" Margin="127,317,0,0" TextWrapping="Wrap" Text="提示:"
VerticalAlignment="Top" Height="23" Width="761" Name="tb_show"/>
<!--創建文件以及普通string寫入讀取文本-->
<Button Content="創建文件" HorizontalAlignment="Left" Margin="127,99,0,0"
Name="btnCreateFile" VerticalAlignment="Top" Click="btnCreateFile_Click"/>
<Button Content="寫入string文件" HorizontalAlignment="Left" Margin="430,99,0,0"
x:Name="btnWriteFile_Copy" VerticalAlignment="Top" Click="btnWriteFile_Copy_Click"/>
<Button Content="讀取string文件" HorizontalAlignment="Left" Margin="757,99,0,0"
x:Name="btnReadFile" VerticalAlignment="Top" Click="btnReadFile_Click"/>
<!--Buffer方式寫入和讀取-->
<Button Content="寫入Buffer數據" HorizontalAlignment="Left" Margin="127,173,0,0"
x:Name="btnWriteBufferFile" VerticalAlignment="Top" Click="btnWriteBufferFile_Click" />
<Button Content="讀取Buffer數據" HorizontalAlignment="Left" Margin="754,173,0,0"
x:Name="btnReadBufferFile" VerticalAlignment="Top" Click="btnReadBufferFile_Click"/>
<!--Stream方式寫入和讀取-->
<Button Content="寫入Stream數據" HorizontalAlignment="Left" Margin="127,243,0,0"
x:Name="btnWriteStreamFile" VerticalAlignment="Top" Click="btnWriteStreamFile_Click" />
<Button Content="讀取Stream數據" HorizontalAlignment="Left" Margin="748,243,0,0"
x:Name="btnReadStreamFile" VerticalAlignment="Top" Click="btnReadStreamFile_Click"/>
</Grid>

cs代碼:

復制代碼
代碼如下:

/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{</p><p> public MainPage()
{
this.InitializeComponent();
}</p><p> /// <summary>
/// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}</p><p> //獲取“庫/文檔”文件夾
StorageFolder storageFolder = KnownFolders.DocumentsLibrary;</p><p> //創建文件以及普通string寫入讀取文本
private async void btnCreateFile_Click(object sender, RoutedEventArgs e)
{
StorageFile sf= await storageFolder.CreateFileAsync(this.tbFileName.Text.Trim(),
CreationCollisionOption.ReplaceExisting);
tb_show.Text = "提示:創建了文件--" + this.tbFileName.Text.Trim();
}</p><p> private async void btnWriteFile_Copy_Click(object sender, RoutedEventArgs e)
{
try
{
string writestr = this.tbContent.Text.Trim() + "text方式";
StorageFile sf = await storageFolder.GetFileAsync(this.tbFileName.Text.Trim());
await FileIO.WriteTextAsync(sf, writestr);
tb_show.Text = "提示:文件寫入成功,寫入內容為-“" + writestr + "”";
}
catch (Exception ex)
{
tb_show.Text = "提示:未找到該文件,請先創建文件";
}
}</p><p> private async void btnReadFile_Click(object sender, RoutedEventArgs e)
{
try
{
StorageFile sf = await storageFolder.GetFileAsync(this.tbFileName.Text.Trim());
string filecontent= await FileIO.ReadTextAsync(sf,UnicodeEncoding.Utf8);
tb_show.Text = "提示:文件以string方式讀取成功,讀取的內容為-“" + filecontent+"”";
}
catch (Exception ex)
{
tb_show.Text = "提示:未找到該文件,請先創建文件";
}
}
//Buffer方式寫入和讀取
private async void btnWriteBufferFile_Click(object sender, RoutedEventArgs e)
{
try
{
string writestr = this.tbContent.Text.Trim() + "buffer方式";
StorageFile sf = await storageFolder.GetFileAsync(this.tbFileName.Text.Trim());
IBuffer buffer = GetBufferFromString(writestr);
await FileIO.WriteBufferAsync(sf, buffer);
tb_show.Text = "提示:文件寫入成功,寫入內容為-“" + writestr + "”";
}
catch (Exception ex)
{
tb_show.Text = "提示:未找到該文件,請先創建文件";
}
}</p><p> private async void btnReadBufferFile_Click(object sender, RoutedEventArgs e)
{
StorageFile sf = await storageFolder.GetFileAsync(this.tbFileName.Text.Trim());
IBuffer buffer = await FileIO.ReadBufferAsync(sf);
using (DataReader dataReader = DataReader.FromBuffer(buffer))
{
string filecontent = dataReader.ReadString(buffer.Length);
tb_show.Text = "提示:文件以Buffer方式讀取成功,讀取的內容為-“" + filecontent + "”";
}
}</p><p> //將String轉為Buffer
private IBuffer GetBufferFromString(String str)
{
using (InMemoryRandomAccessStream memoryStream = new InMemoryRandomAccessStream())
{
using (DataWriter dataWriter = new DataWriter(memoryStream))
{
dataWriter.WriteString(str);
return dataWriter.DetachBuffer();
}
}
}</p><p> //Stream方式寫入和讀取
private async void btnWriteStreamFile_Click(object sender, RoutedEventArgs e)
{
try
{
string writestr = this.tbContent.Text.Trim() + "Stream方式";
StorageFile sf = await storageFolder.GetFileAsync(this.tbFileName.Text.Trim());
using (StorageStreamTransaction transaction = await sf.OpenTransactedWriteAsync())
{
using (DataWriter dataWriter = new DataWriter(transaction.Stream))
{
dataWriter.WriteString(writestr);
transaction.Stream.Size = await dataWriter.StoreAsync(); // reset stream size to override the file
await transaction.CommitAsync();
tb_show.Text = "提示:文件寫入成功,寫入內容為-“" + writestr + "”";
}
}
}
catch (Exception ex)
{
tb_show.Text = "提示:未找到該文件,請先創建文件";
}

}</p><p> private async void btnReadStreamFile_Click(object sender, RoutedEventArgs e)
{
StorageFile sf = await storageFolder.GetFileAsync(this.tbFileName.Text.Trim());
using (IRandomAccessStream readStream = await sf.OpenAsync(FileAccessMode.Read))
{
using (DataReader dataReader = new DataReader(readStream))
{
UInt64 size = readStream.Size;
if (size <= UInt32.MaxValue)
{
UInt32 numBytesLoaded = await dataReader.LoadAsync((UInt32)size);
string filecontent = dataReader.ReadString(numBytesLoaded);
tb_show.Text = "提示:文件以Stream方式讀取成功,讀取的內容為-“" + filecontent + "”";
}
}
}
}
}

  如需源碼請點擊 Win8File_jb51net.rar 下載。VS2012+Windows8開發。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人a**站| 欧美激情xxxxx| 色偷偷91综合久久噜噜| 永久免费看mv网站入口亚洲| 国产91精品久久久久久久| 亚洲高清一区二| 日韩电影免费在线观看中文字幕| 海角国产乱辈乱精品视频| 欧美一级黄色网| 国产日本欧美一区二区三区| 亚洲国产精品成人一区二区| 欧美激情在线视频二区| 亚洲精品99久久久久中文字幕| 91久久精品国产91久久性色| 国产一区二区美女视频| 成人福利视频在线观看| 国产一区二区日韩精品欧美精品| 欧美视频一区二区三区…| 2021国产精品视频| 一区二区三区高清国产| 乱亲女秽乱长久久久| 欧美精品在线观看| 57pao精品| 国产日韩精品在线播放| 日本sm极度另类视频| 国产日本欧美一区| 欧美激情喷水视频| 亚洲视频电影图片偷拍一区| 国产精品入口日韩视频大尺度| 亚洲综合精品一区二区| yw.139尤物在线精品视频| 久久精品视频中文字幕| 久久免费观看视频| 久久久国产一区二区| 韩曰欧美视频免费观看| 成人网在线视频| 国产在线一区二区三区| 亚洲已满18点击进入在线看片| 美女黄色丝袜一区| 青青草成人在线| 精品视频久久久| 中文字幕日韩精品在线观看| 日日噜噜噜夜夜爽亚洲精品| 中文字幕v亚洲ⅴv天堂| 亚洲国产欧美一区二区三区久久| 久久久www成人免费精品张筱雨| 色婷婷综合成人| 亚洲国产精品网站| 日韩电影中文字幕一区| xxxxx91麻豆| 高清一区二区三区日本久| 日韩在线观看免费| 一区二区三区精品99久久| 亚洲第一精品夜夜躁人人躁| 欧美精品在线播放| 日本人成精品视频在线| 日韩成人在线视频| 精品亚洲一区二区三区在线播放| 欧美日韩国产限制| 少妇精69xxtheporn| 亚洲经典中文字幕| 亚洲欧美国产va在线影院| 97精品一区二区三区| 日韩美女视频免费看| 亚洲欧洲美洲在线综合| 91啪国产在线| 国产精品观看在线亚洲人成网| 亚洲欧美另类国产| 亚洲影院在线看| 久久69精品久久久久久久电影好| 国模视频一区二区| 欧美一级淫片aaaaaaa视频| 亚洲人av在线影院| 亚洲男人的天堂网站| 亚洲人高潮女人毛茸茸| 欧美超级免费视 在线| 亚洲日本中文字幕免费在线不卡| 亚洲精品美女网站| 欧美日韩国产页| 麻豆乱码国产一区二区三区| 国产精品专区一| 欧美精品在线第一页| 国产精品视频色| 成人免费视频a| 国产精品亚洲美女av网站| 日韩免费在线视频| 欧美精品成人91久久久久久久| 亚洲乱码一区av黑人高潮| 欧美日韩美女在线| 国产欧美一区二区三区四区| 国产美女扒开尿口久久久| 色综合亚洲精品激情狠狠| 国产精品www| 国产日韩欧美在线播放| 国产mv免费观看入口亚洲| 欧美色播在线播放| 欧美日韩另类字幕中文| 久久精品视频中文字幕| 91久久精品国产| 国产日韩欧美在线看| 亚洲色图激情小说| 亚洲欧美色图片| 中文字幕免费国产精品| 在线播放国产一区中文字幕剧情欧美| 欧美日韩一区二区三区在线免费观看| 亚洲综合一区二区不卡| 国产精品老牛影院在线观看| 亚洲网址你懂得| 国产日韩精品在线观看| 日韩欧美国产中文字幕| 日韩av在线高清| 亚洲欧美日韩第一区| 日韩av影片在线观看| 国产精品高清在线观看| 亚洲人线精品午夜| 国产一区二区三区欧美| 亚洲精品中文字幕女同| 久久夜色精品国产欧美乱| 久久伊人精品视频| 国产精品美女呻吟| www.国产精品一二区| 欧美日韩国产中文字幕| 欧美视频在线观看 亚洲欧| 亚洲免费视频网站| 日韩精品中文字幕视频在线| 久久精品91久久久久久再现| 日韩专区在线观看| 欧美中文字幕在线视频| 亚洲成人a级网| 国产精品久久久久久久久久久久| 日韩精品在线观看网站| 在线观看免费高清视频97| 日韩精品视频在线播放| 搡老女人一区二区三区视频tv| 日本亚洲精品在线观看| 亚洲成在人线av| 中文字幕日韩在线播放| 中文字幕亚洲综合久久筱田步美| 国产精品久久久久福利| 欧美在线视频播放| 992tv在线成人免费观看| 国产精品久久久久久av福利| 欧美一级淫片播放口| 日韩欧美成人区| 亚洲国产精品人久久电影| 中文字幕国产亚洲2019| 日韩激情av在线免费观看| 成人免费看黄网站| 国产v综合v亚洲欧美久久| 久青草国产97香蕉在线视频| 日本不卡免费高清视频| 亚洲电影免费观看| 国产精品久久色| 亚洲国产又黄又爽女人高潮的| 国产精自产拍久久久久久蜜| 亚洲男人的天堂在线| 中文字幕欧美专区| 欧美人与性动交a欧美精品| 在线观看中文字幕亚洲| 97成人精品视频在线观看| 久久久噜噜噜久久久| 美女视频久久黄| 国产日韩欧美自拍| 久久高清视频免费|