2017-04-13 83 views
0

使用UWP我在Documents文件夹中创建一个文件,创建后我试图隐藏文件,但文件没有隐藏起来。以下是我用来隐藏的示例代码。在UWP中隐藏创建的文件

 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); 

谁能告诉我可以隐藏文件吗?

在此先感谢。

回答

0

我测试了你的代码。问题是,即使您已明确授予访问该文件夹的权限,您也无法在DocumentsLibrary中为该文件设置隐藏属性。对于uwp应用程序,可用的文件属性列在Windows.Storage.FileAttributes enum中,因为您可以看到不包括Hidden属性。

Windows应用商店应用运行沙盒并且对文件系统的访问非常有限。大多数情况下,他们只能直接访问其安装文件夹及其应用程序数据文件夹。只有通过经纪人流程才能访问其他地点。这是设计。因此,您可以在LocalFolder中创建隐藏文件。

var Local = ApplicationData.Current.LocalFolder; 
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); 

但是,我们不建议您在uwp应用程序中隐藏文件。因为如果你隐藏了文件,然后你通过下面的代码创建了一个相同的名字文件。它会抛出异常。

localsetting.CreateFileAsync("TEST.txt", CreationCollisionOption.OpenIfExists);