2012-11-30 42 views
3

創建文本文件:Windows metro應用程序 - 在C#中編寫和讀取文本文件?

var myFile = "test"; 
var folderUsed = Windows.Storage.ApplicationData.Current.LocalFolder; 
var fileOption = Windows.Storage.CreationCollisionOption.ReplaceExisting; 
var createdFile = await folderUsed.CreateFileAsync(myFile, fileOption); 

寫入字符串將創建的文本文件:

var writeThis = "write this "; 
await Windows.Storage.FileIO.WriteTextAsync(createdFile, writeThis); 

但是,它並沒有指定哪個部分文本文件將被創建,我想在我的應用程序包中創建它,而不是在我的計算機中的其他位置創建它,這有可能嗎?

其次,當我再次執行第二代碼,我想我的文件,寫成「寫這篇文章寫這個」,而不是取代舊的文件並創建另一個。

+0

你是什麼意思與「創建它的包我的應用程序的內部」?你的意思是應用程序已安裝的文件夾? –

+0

您是否嘗試將它們放置在資產文件夾中? –

回答

0

「不過,這並沒有指定哪個部分文本文件將被創建,我想創建它的包我的應用程序內,而不是在我的電腦的其他地方,這有可能嗎?「

它實際上是「幾乎」唯一可能的!你的應用程序可以明確地訪問它自己的'LocalFolder'文件夾,'RoamingFolder'位置,它可以在應用程序實例之間共享,或者'TemporaryFolder'可以被放棄。

如果您願意,您可以使用Windows.Storage.KnownFolders.pictureLibrary將文件保存爲圖片庫之類的內容,並且如果您使用「Windows.ApplicationModel.Package.current.installedLocation」,則可以只讀訪問您的安裝文件夾所以願意。

2

如果你的文件在資產文件夾,然後您可以通過訪問它們:

String path = "ms-appx:///Assets/" + Domain + ".txt"; 
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(path)); 
string Value = await FileIO.ReadTextAsync(file); 
+0

如何獲得'Domain'? – testing

相關問題