Path.GetTempPath() 在 Windows 商店应用程序中不可用
Path.GetTempPath() not available in Windows Store Apps
我正在尝试使用以下方法获取临时目录:
string tempFolder = System.IO.Path.GetTempPath();
但是那个方法不存在。不过我可以在智能感知中看到所有其他方法。
为什么那个方法不可用。在 Windows Store 应用程序中是否有另一种获取临时文件夹位置的方法?
在您的 ApplicatonData 存储中创建临时文件。您必须使用 GUID 或时间戳生成您自己的文件名。
Windows.Storage.StorageFolder temporaryFolder = ApplicationData.Current.TemporaryFolder;
StorageFile sampleFile = await temporaryFolder.CreateFileAsync("dataFile.txt", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
A Windows Store App 是沙盒应用,因此您需要读取和写入沙盒应用程序文件夹内的文件夹。您将无法像您希望的那样写入传统的临时文件夹 C:\Windows\TEMP
,是的,您真倒霉。您可以访问应用程序文件夹之外的其他几个位置,但在大多数情况下,您的访问权限是有限的。
KnownFolders class 是您访问以下位置的方式。
- 相机胶卷
- 文档库
- 家庭组
- 媒体服务器设备
- 音乐库
- 图片库
- 播放列表
- 可移动设备
- 保存图片
- 视频库
我正在尝试使用以下方法获取临时目录:
string tempFolder = System.IO.Path.GetTempPath();
但是那个方法不存在。不过我可以在智能感知中看到所有其他方法。
为什么那个方法不可用。在 Windows Store 应用程序中是否有另一种获取临时文件夹位置的方法?
在您的 ApplicatonData 存储中创建临时文件。您必须使用 GUID 或时间戳生成您自己的文件名。
Windows.Storage.StorageFolder temporaryFolder = ApplicationData.Current.TemporaryFolder;
StorageFile sampleFile = await temporaryFolder.CreateFileAsync("dataFile.txt", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
A Windows Store App 是沙盒应用,因此您需要读取和写入沙盒应用程序文件夹内的文件夹。您将无法像您希望的那样写入传统的临时文件夹 C:\Windows\TEMP
,是的,您真倒霉。您可以访问应用程序文件夹之外的其他几个位置,但在大多数情况下,您的访问权限是有限的。
KnownFolders class 是您访问以下位置的方式。
- 相机胶卷
- 文档库
- 家庭组
- 媒体服务器设备
- 音乐库
- 图片库
- 播放列表
- 可移动设备
- 保存图片
- 视频库