1Metro讀寫文件
Metro不是在隨便位置都可以讀寫文件的,只開放了相應的讀寫位置。我只介紹在文檔庫讀寫文件的方法。
最重要的是必須在package manifest中事先聲明。每個項目管理器中都有一個manifest文件,雙擊打開,點擊功能按鈕,在功能列表中列出了你的程序需要提供的功能,也隱含着你需要被提供訪問權限的位置,勾選你需要的權限很重要,否則在訪問你不具備權限的位置時將引發異常。如果是想要在文檔庫中進行文件操作,還要事先聲明,添加一個文件關聯的聲明,在該聲明中添加你需要訪問的文件類型。
2
凡是名字中帶有Asyn字樣的方法都是可以進行異步操作方法,在C++中使用這種方法需要Concurrency空間中的task類。task類是一個模板類,提供兩個重要的方法異步的then()和同步的get()。將異步方法的返回值強制轉換爲一個以該返回值類型爲模板的task類實例,然後調用then或者get方法,纔會真正執行該方法。具體的使用方法見MSDN。 task<StorageFile^>(KnownFolders::DocumentsLibrary->CreateFileAsync("sample.txt", CreationCollisionOption::ReplaceExisting)).then([this](StorageFile^ file)
{
_sampleFile = file;
});