原文 UWP 中的各种文件路径(用户、缓存、漫游、安装……)

UWP 提供了多种不同文件路径访问方式,对应到不同的文件路径中。可能我们只是简单用 ApplicationData.Current 获取一下可以读写的路径便能应付我们应用日常所需的各种文件读写需求,不过,UWP 还提供了更多的路径选项。

本文将和你一起总结 UWP 中的各种各样的路径。


UWP 中的路径种类

UWP 中可访问的路径有这些:

ApplicationData

ApplicationData 提供应用程序自己创建的数据的读写能力。它包含这些文件夹:

  • Local: 储存在设备上,可被云端备份,在更新之后此数据保留
  • LocalCache: 储存在当前设备上,不备份,在更新后此数据保留
  • SharedLocal: 储存在设备上,为所有用户共享
  • Roaming: 对于同一个用户,会存在于安装了此应用的所用设备中
  • Temporary: 允许操作系统在任何时刻删除的临时文件

在智能感知提示的帮助下,你也可以找到对应的这几个文件夹:


▲ ApplicationData 的智能感知提示

这些不同的文件夹有着不同建议的用途。Local 文件夹,用来储存用户产生的数据(例如用户创建的文档等);这部分数据在进行备份的时候会被备份下来。相比之下,LocalCache 和 Temporary 是不受备份影响的。

额外的,

Package.InstalledLocation

应用程序可以访问安装后程序包所在的路径,使用 Package.Current.InstalledLocation 即可获取到应用程序包所在路径。

当然,这部分的路径有更多的快捷访问方式,比如 Uri 以 / 开头,就是访问程序包所在路径:

var uri = new Windows.Foundation.Uri("/samples/logo.png");

还可以以 ms-appx:/// 协议开头:

var uri = new Windows.Foundation.Uri("ms-appx:///samples/logo.png");
var file = Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri);

特殊文件夹

特殊文件夹可以通过 KnownFolders 类型获取,可以获取到照片、图片、音乐、视频等文件夹。

本文会经常更新,请阅读原文: https://walterlv.com/post/all-kinds-of-paths-in-uwp.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

UWP 中的各种文件路径(用户、缓存、漫游、安装……)的更多相关文章

  1. MinGW中的头文件路径级环境变量设置

    整理自 MinGW中的头文件路径   C头文件目录%MINGW_PATH%/include下有头文件,里面有strcpy等c函数的声明. C++头文件目录%MINGW_PATH%/lib/gcc/mi ...

  2. php中include包含文件路径查找过程

    首先,“路径”分为三种: 1.绝对路径,以/开头(unix系统)或c:等盘符开头(windows系统). 2.相对路径,以.开头,有./(当前目录)和../(上级目录). 3.其他路径,不是绝对路径和 ...

  3. Python中的相对文件路径的调用

    先让我们来看看一个用到相对文件路径的函数调用的问题.假设现在有两个脚本文件main.py和func.py,他们的路径关系是: . |--dir1 |--main.py |--dir2 |--func. ...

  4. django项目部署在Apache服务器中,静态文件路径的注意点

    django Apache部署静态文件的路径注意点 静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEBUG = True 时, ...

  5. Git .gitignore中已添加文件路径,但仍未被忽略

    当文件之前已经被提交到仓库后,后面即使将文件路径添加到 .gitignore ,使用 git status 命令,依然会看到文件被修改. $ git status 位于分支 master 您的分支与上 ...

  6. WinForm中使用XML文件存储用户配置及操作本地Config配置文件

    大家都开发winform程序时候会大量用到配置App.config作为保持用户设置的基本信息,比如记住用户名,这样的弊端就是每个人一些个性化的设置每次更新程序的时候会被覆盖. 故将配置文件分两大类: ...

  7. windows系统中如何删除文件路径过长的文件

    Q:通常在使用npm安装包后,路径会变的非常的长,有时候无法手动删除文件: 这个时候可以选中文件点击>添加文件到压缩文件,在弹出出来的框中勾选 压缩后删除原文件,>最后删除压缩包

  8. WinForm中使用XML文件存储用户配置及操作本地Config配置文件(zt)

    因项目中采用CS结构读取Web.config文件,故参照一下的连接完成此功能,在此感谢原作者! 原文地址: http://www.cnblogs.com/zfanlong1314/p/3623622. ...

  9. jsp中获取当前文件路径

    <% String path1 = application.getRealPath(request.getRequestURI()); //当前请求的JSP文件的物理路径 String path ...

随机推荐

  1. 8.5 Android灯光系统_源码分析_通知灯

    参考文章(应用程序举例)how to use the LED with Android phonehttp://androidblogger.blogspot.jp/2009/09/tutorial- ...

  2. 3、linux下Socket编程-TCP/UDP

    1.什么是Socket 网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返 回一个整型的Socke ...

  3. [Angular] @ContentChild with Directive ref

    For example you have a component, which take a trasclude input element: <au-fa-input id="pas ...

  4. 如何在 Linux 中统计一个进程的线程数

    编译自:http://ask.xmodulo.com/number-of-threads-process-linux.html作者: Dan Nanni原创:LCTT https://linux.cn ...

  5. 1.2.4 Java Annotation 提要

    (本文是介绍依赖注入容器Spring和分析JUnit源码的准备知识) Java Annotation(标注) java.lang.annotation.Annotation是全部Java标注的父接口. ...

  6. php 获取根目录

    在网站根目录的index.php文件里 define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/ ...

  7. Session or Cookie?是否需要用Tomcat等Web容器的Session

    Cookie是HTTP协议标准下的存储用户信息的工具,浏览器把用户信息存放到本地的文本文件中. Session是基于Cookie实现的. 2011年4月,武汉群硕面试的时候(实习生),面试官也问过这个 ...

  8. android 发送http请求

    好久没写博客了,由于公司要做android,笔者也是第一次接触. 这是在项目中遇到一个比較麻烦的问题.记录下来备忘(本人刚接触.有不正确的地方请不吝赐教). 发送请求的代码: package com. ...

  9. 微信管理系统基于Flask+Vue+Celery+SQLAlchemy+Redis等实现

    https://zhuanlan.zhihu.com/p/28102858 现在绝大多数同学都在使用微信,不过微信有很多限制,比如: 微信聊天记录只保存在本地,换个手机那些内容就找不到了 微信扫码加群 ...

  10. [Postgres] Create a Postgres Table

    Learn how to create a table using the most widely-used data types (serial, varchar, integer, float, ...