UWP Vérifier Si le Fichier Existe
Je suis actuellement en train de travailler sur un ordinateur Windows 10 UWP App.
L'Application doit Vérifier si un Fichier PDF est appelée "01-introduction", et si donc l'ouvrir.
J'ai déjà le code pour si le fichier n'existe pas.
Le Code ci-Dessous est ce que j'ai actuellement:
try
{
var test = await DownloadsFolder.CreateFileAsync("01-Introduction.pdf", CreationCollisionOption.FailIfExists);
}
catch
{
}
Ce code Ne fonctionne pas correctement parce que pour vérifier si le fichier existe ici, je tente de créer le fichier. Toutefois, si le fichier n'existe pas déjà un fichier vide est créé. Je ne veux pas faire n'importe quoi, si le fichier n'existe pas, il suffit d'ouvrir le fichier PDF s'il n'.
Si possible, je tiens à regarder à l'intérieur d'un dossier qui est dans le dossier téléchargements appelé "Mes Manuels".
Toute aide serait grandement appréciée.
Merci pour la clarification Jay. C'est le problème que nous avons été à venir à travers. Ainsi, nous pouvons avoir accès à l'annuaire pour les Téléchargements. Nous avons besoin de regarder une autre approche et d'en faire un peu plus de lecture.
Si vous créez un fichier ou un dossier dans le dossier Téléchargements, nous vous recommandons d'ajouter cet élément à votre application FutureAccessList de sorte que votre application peut facilement accéder à cet élément dans l'avenir. Pour plus d'informations, veuillez consulter autorisations d'accès au Fichier.
OriginalL'auteur James Tordoff | 2016-05-09
Vous devez vous connecter pour publier un commentaire.
Mais pas de support Win8/WP8.1
https://blogs.msdn.microsoft.com/shashankyerramilli/2014/02/17/check-if-a-file-exists-in-windows-phone-8-and-winrt-without-exception/
Écrivez-vous le Package.appxmanifest.
Il va lever une exception lorsque l'élément n'est pas trouvé.
Il ne jette pas une exception.
En effet, il ne jetez pas Exception, bien que les Docs disent qu'ils ne
OriginalL'auteur lindexi
Il existe deux méthodes
1) Vous pouvez utiliser
StorageFolder.GetFileAsync()
comme cela est également pris en charge par Windows 8.1 et WP 8.1 dispositifs.2) Ou vous pouvez utiliser
FileInfo.Exists
uniquement pris en charge pour windows 10 UWP.Êtes-vous sûr DownloadFolder est un StorageFolder type, si il devrait donc avoir une définition. Essayez de copier l'intégralité de votre code, je vais vérifier
DownloadFolder ne GetFileAsync () la méthode
Si vous allez utiliser
System.IO
à tous, vous pouvez tout aussi bien utiliser desSystem.IO.File.Exists(String)
. Il est plus efficace - pas besoin de construire un objet - et le plus simple à lire.N'a pas fonctionné pour mon UWP application en C# sur Windows 10.
OriginalL'auteur AbsoluteSith
Système.IO.Fichier.Existe est UWP trop. Je test maintenant dans Windows IDO. il fonctionne, tout simplement.
OriginalL'auteur Kursat Turkay
Cela m'a aidé dans mon cas:
OriginalL'auteur Андрей Саяпин
OriginalL'auteur Ali Yousefie
Vous pouvez utiliser le Système.IO.Fichier.
Exemple:
OriginalL'auteur Sapan Ghafuri
Je suis en train de faire un Win10 l'Ido Core UWP app et j'ai vérifier le fichier de longueur au lieu de "il Existe" parce que
CreateFileAsync()
déjà crée un fichier vide talon immédiatement. Mais j'ai besoin d'appeler avant pour déterminer le chemin d'accès complet du fichier est situé à.C'est donc:
OriginalL'auteur Waescher
De cette façon
System.IO.File.Exists(filePath)
je ne peux pas testerDocumentLibrary
parce que
KnownFolders.DocumentsLibrary.Path
renvoie la chaîne videSolution suivante est très lent
await DownloadsFolder.GetFileAsync("01-Introduction.pdf")
À mon humble avis, la meilleure façon est de collecter tous les fichiers du dossier et de vérifier le nom de fichier existe.
OriginalL'auteur Jarek
Cela a fonctionné pour moi en cours d'exécution de mon UWP application en C# sur Windows 10...
OriginalL'auteur Doug Null
Vous pouvez utiliser la classe FileInfo dans ce cas. Il a une méthode appelée FileInfo.Exists() qui renvoie un booléen résultat
https://msdn.microsoft.com/en-us/library/system.io.fileinfo.exists(v=vs. 110).aspx
EDIT:
Si vous souhaitez vérifier les fichiers existence, vous aurez besoin de créer un StorageFile objet et l'appel de l'un des GetFile.... des méthodes. Tels que:
J'ai eu un coup d'oeil rapide à trouver le téléchargement chemin d'accès au dossier, mais pas de joie, mais la méthode GetFile devrait vous donner la réponse à votre recherche de
Je pense que vous pouvez avoir besoin d'utiliser la getfile fonctions, afin de voir si elles retournent un objet ou une valeur null. De réponses mis à jour
OriginalL'auteur Ben Steele
Sur windows 10, pour moi, c'est la plus "élégante" façon:
Ou, comme une extension si vous préférez et l'utiliser à grande échelle:
sur le Fil que vous voyez sur un commentaire de cette méthode est censée renvoyer false lorsque des erreurs se produit lorsque vous essayez d'atteindre fichier. Donc, si le système traite "chemin long" comme une erreur, cette méthode est encore à droite. La solution présentée sur l'autre fil est inefficace, comme l'auteur le confirme, j'ai essayé ici de présenter les plus "élégant" de la solution. Et il fonctionne sur à 99,9% du temps, donc je ne pense pas utile d'intégrer cette solution à cette proposition.
OriginalL'auteur Wagner Bertolini Junior