使用UWP,我在Documents文件夹中创建了一个文件,创建后我试图隐藏该文件,但该文件没有被隐藏。下面是我用来隐藏的示例代码。
var localsetting = KnownFolders.DocumentsLibrary;
var versionfile = await localsetting.CreateFileAsync("TEST.txt", CreationCollisionOption.OpenIfExists);
await FileIO.WriteTextAsync(versionfile, "TEst Content2");
System.IO.File.SetAttributes(versionfile.Path, System.IO.FileAttributes.Hidden);
有可能隐藏文件吗?
1条答案
按热度按时间bxgwgixi1#
我已经测试了你的代码。问题是你不能为
DocumentsLibrary
中的文件设置隐藏属性,即使你已经显式地授予了文件夹的访问权限。对于uwp应用程序,可用的文件属性列在Windows.Storage.FileAttributes
枚举中,你可以看到Hidden
属性不包括在内。Windows应用商店应用运行沙盒,对文件系统的访问权限非常有限。在大多数情况下,它们只能直接访问其安装文件夹和应用程序数据文件夹。对其他位置的访问只能通过代理进程进行。这是设计使然。因此,你可以隐藏在
LocalFolder
中创建的文件。然而,我们不建议你在你的uwp应用程序中隐藏文件。因为如果你隐藏了文件,然后你用下面的代码创建了一个同名文件。它会抛出异常。