2017-04-13 85 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);