【问题标题】:Is there default folder for UWP application?UWP 应用程序是否有默认文件夹?
【发布时间】:2018-05-23 00:23:15
【问题描述】:

对于 Windows 应用程序,我们有默认文件夹,即 .exe 文件所在的位置。如果我们将一些文件放到这个文件夹中,我们可以在应用程序中打开它,只需指定不带路径的文件名。

但对于 UWP,情况就不同了。我们有KnownFolders,应用程序可以访问它。我需要指定我的文件位于哪个 KnowFolder。

但我只想将文件放到某个位置并从应用程序中打开它,而不是指定文件夹类型或文件夹路径,就像我使用 Windows 应用程序的默认文件夹一样。

有可能吗?

【问题讨论】:

  • 您真正想解决什么问题?对于桌面应用程序和任何其他应用程序类型,使用相对路径是错误的。您似乎有这样的印象,这个组成的 “默认文件夹” 是用于创建进程的可执行映像所在的位置。不是这种情况。您指的是所谓的“当前工作目录”。它可以在创建应用程序快捷方式时设置为指向任何位置,或在运行时更改。
  • @IInspectable,我需要放置 xml 文件,该文件更改应用程序设置(仅用于测试)并在没有路径或其他文件夹信息的情况下读取它。
  • 为什么你会沉迷于“没有路径”部分?构建完全合格的路径有什么难的?如果您确实需要一个相对于可执行文件的路径,请使用ms-appx:// 协议。

标签: file uwp directory windows-applications


【解决方案1】:

出于安全原因,安装的文件夹是只读的,因此在 UWP 技术中“只指定不带路径的文件名”是不可能的。

为您的方案推荐的文件夹是 LocalFolder。这也是推荐的设置存放位置,请看官方文档:Store and retrieve app data。本地文件夹并不复杂,就一行代码:

Windows.Storage.ApplicationData.Current.LocalFolder

您可以将其视为常用数据的默认文件夹。

【讨论】:

  • 但它在驱动器上的什么位置? C:\程序数据?或 C:\Users\user_name\AppData\Local?
  • @Alexan 是第二条路径,调试的时候可以通过输出这个文件夹来测试。有一个 localstate 文件夹。
猜你喜欢
  • 2018-09-13
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 2020-10-07
相关资源
最近更新 更多