2017-08-30 72 views
0

我看了很多stackoverflow文章和文章,但仍然沒有設法在UWP中創建文件。在WPF中它非常簡單,但UWP的工作方式不同。在UWP中創建文件和文件夾

我說在我的清單文件如下:

<Capabilities> 
    <uap:Capability Name="documentsLibrary" /> 
    </Capabilities> 

現在林不知道下一步該怎麼做。在我的文檔文件夾中,我有一個名爲「項目文件」的子文件夾。我想在那裏創建文件夾和文件。 UWP是如何完成的?我真的不明白。

+0

是否需要喲你需要在文檔文件夾中創建文件和文件夾?如果沒有,您可以使用應用程序的本地文件夾創建文件夾和文件,而不會出現問題 – Pratyay

回答

1

由於Microsoft文檔中的微軟狀態,它重新開始不通過UWP應用程序使用文檔庫,而是選擇內置存儲,除非其絕對必要。

有一個簡單的方法來解決,如果你使用的文件夾選擇器

private async void buttonClick(){ 
      FolderPicker folderPicker = new FolderPicker(); 
    folderPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; 
     folderPicker.FileTypeFilter.Add("*"); 

      StorageFolder folder= await folderPicker.PickSingleFolderAsync(); 
     if (folder != null) { 

       // do Things On Folder 

      } 
      else 
      { 
       MessageDialog dialog = new MessageDialog("you selected nothing"); 
      await dialog.ShowAsync(); 
      } 

} 

上面開闢了一個文件夾選擇對話框中,將返回用戶選擇了文件夾,其訪問地點的推薦方法在應用程序文件夾外部。

這裏是如何創建該文件夾中的新文件:

string name ="myTitle.txt"; 
      await folder.CreateFileAsync(name, CreationCollisionOption.GenerateUniqueName); 

這裏是如何打開和寫入文件:

  try { 
          StorageFile myFile = await folder.GetFileAsync(name); 
          await Windows.Storage.FileIO.WriteTextAsync(myFile, "myStringContent"); 

           } 
         catch (Exception e) 
         { 
          Debug.WriteLine("Failure: "+e.Message); 

          return; 
         } 

記住你可以隨時避免打開一個對話框,如果您使用本地存儲代替它,它會將應用程序的存儲文件夾返回到一行,如下所示:

var folder= ApplicationData.Current.LocalFolder; 
2

我相信在UWP中使用文檔庫既不被推薦也不被允許。請參閱https://blogs.msdn.microsoft.com/wsdevsol/2013/05/09/dealing-with-documents-how-not-to-use-the-documentslibrary-capability-in-windows-store-apps/

如果您側載應用程序並使用文檔庫功能,則應用程序只能訪問已聲明的文件類型,而不能訪問文檔中的所有內容。 請參閱https://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx#special_capabilities

請注意,除非您先通過一些與MS聯繫的特殊過程,否則此特殊功能不會讓您通過Store中的應用認證。

要創建文件夾,請使用StorageFolder。要創建文件,請使用StorageFile。 請參閱https://docs.microsoft.com/en-us/windows/uwp/files/quickstart-reading-and-writing-files

相關問題