2017-08-30 36 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

相关问题