UWP 中的各种文件路径(用户、缓存、漫游、安装……)
原文 UWP 中的各种文件路径(用户、缓存、漫游、安装……)
UWP 提供了多种不同文件路径访问方式,对应到不同的文件路径中。可能我们只是简单用 ApplicationData.Current 获取一下可以读写的路径便能应付我们应用日常所需的各种文件读写需求,不过,UWP 还提供了更多的路径选项。
本文将和你一起总结 UWP 中的各种各样的路径。
UWP 中的路径种类
UWP 中可访问的路径有这些:
- ApplicationData
- 用于储存应用的各种数据
- Package.InstalledLocation
- 提供对应用程序包中各种文件的访问
- 特殊文件夹
- 提供用户文档、用户收藏夹等特殊文件夹的访问
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 中的各种文件路径(用户、缓存、漫游、安装……)的更多相关文章
- MinGW中的头文件路径级环境变量设置
整理自 MinGW中的头文件路径 C头文件目录%MINGW_PATH%/include下有头文件,里面有strcpy等c函数的声明. C++头文件目录%MINGW_PATH%/lib/gcc/mi ...
- php中include包含文件路径查找过程
首先,“路径”分为三种: 1.绝对路径,以/开头(unix系统)或c:等盘符开头(windows系统). 2.相对路径,以.开头,有./(当前目录)和../(上级目录). 3.其他路径,不是绝对路径和 ...
- Python中的相对文件路径的调用
先让我们来看看一个用到相对文件路径的函数调用的问题.假设现在有两个脚本文件main.py和func.py,他们的路径关系是: . |--dir1 |--main.py |--dir2 |--func. ...
- django项目部署在Apache服务器中,静态文件路径的注意点
django Apache部署静态文件的路径注意点 静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEBUG = True 时, ...
- Git .gitignore中已添加文件路径,但仍未被忽略
当文件之前已经被提交到仓库后,后面即使将文件路径添加到 .gitignore ,使用 git status 命令,依然会看到文件被修改. $ git status 位于分支 master 您的分支与上 ...
- WinForm中使用XML文件存储用户配置及操作本地Config配置文件
大家都开发winform程序时候会大量用到配置App.config作为保持用户设置的基本信息,比如记住用户名,这样的弊端就是每个人一些个性化的设置每次更新程序的时候会被覆盖. 故将配置文件分两大类: ...
- windows系统中如何删除文件路径过长的文件
Q:通常在使用npm安装包后,路径会变的非常的长,有时候无法手动删除文件: 这个时候可以选中文件点击>添加文件到压缩文件,在弹出出来的框中勾选 压缩后删除原文件,>最后删除压缩包
- WinForm中使用XML文件存储用户配置及操作本地Config配置文件(zt)
因项目中采用CS结构读取Web.config文件,故参照一下的连接完成此功能,在此感谢原作者! 原文地址: http://www.cnblogs.com/zfanlong1314/p/3623622. ...
- jsp中获取当前文件路径
<% String path1 = application.getRealPath(request.getRequestURI()); //当前请求的JSP文件的物理路径 String path ...
随机推荐
- CSU1656: Paper of FlyBrother(后缀数组)
Description FlyBrother is a superman, therefore he is always busy saving the world. To graduate fro ...
- 25、写一个USB摄像头驱动程序(有ioctrl分析)
videobuf2-core.h中的vb2_buffer,记录了v4l2_buffer ,驱动可以对vb2_buffer的v4l2_buffer进行操控, vb2_buffer是v4l2框架层的代码, ...
- WM_CAP_DRIVER_CONNECT
WM_CAP_DRIVER_CONNECT //ActiveX ---->OnCreate m_pit.Create(IDD_CAM_DIALOG,this); CRect rc; this ...
- Boost.Asio c++ 网络编程翻译(10)
read/write方法 这些方法对一个流进行读写操作(能够是套接字,或者其它表现的像流的类): async_read(stream, buffer [, completion],handler):这 ...
- 高性能 Python —— vectorization
首先来看一段判断一个整数数是否为素数的函数,然后从计算机内部计算流程的角度对其进行分析: import math def check_prime(number): sqrt_number = math ...
- css3 border img 边框图片
摘自http://www.html-js.com/article/CSS3-tutorial-css3borderimage-frame-image-Xiangjie-on border-image摘 ...
- 【35.00%】【z13】&&【b093】最优贸易
[题解] 这题就是要在n个点里面选一个花费最小的点.然后找一个花费最大的点.两者之差为最大值. 但是最大值的点要在最小值的点之后出现.且走到后者之后要能够到达N号节点.为了处理掉环.先用tarjan进 ...
- [GraphQL] Add an Interface to a GraphQL Schema
As we start building out more complex GraphQL schemas, certain fields start to repeat across differe ...
- poj 2965 The Pilots Brothers' refrigerator
The Pilots Brothers' refrigerator Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18040 ...
- 数据结构与算法——常用高级数据结构及其Java实现
前文 数据结构与算法--常用数据结构及其Java实现 总结了基本的数据结构,类似的,本文准备总结一下一些常见的高级的数据结构及其常见算法和对应的Java实现以及应用场景,务求理论与实践一步到位. 跳跃 ...