2009-04-30 16 views
2

J'ai une variable dans le code qui peut avoir un chemin de fichier ou une URL comme valeur. Exemples:Le chemin du fichier est-il une URL?

http://someDomain/someFile.dat 
file://c:\files\someFile.dat 
c:\files\someFile.dat 

Il existe deux façons de représenter un fichier et je ne peux en ignorer aucune. Quel est le nom correct d'une telle variable: path, url, location? J'utilise une API tierce pour que je ne puisse pas modifier la sémantique ou la séparer en plusieurs variables.

Répondre

0

Si les valeurs ne sont pas opaques pour votre application, il est préférable de les modéliser en tant que classe. Dans le cas contraire, chaque fois que vous allez agir sur les valeurs que vous pouvez vous retrouver à écrire du code comme ceci:

 
if (variable.StartsWith("http://") || variable.StartsWith("file://")) { 
    // Handle url 
} 
else { 
    // Handle file path 
} 

Vous peut plier certaines des fonctionnalités en ce qui concerne le traitement des valeurs dans votre classe, mais il est bien préférable de traiter comme un type de valeur immuable.

Utilisez un nom descriptif pour votre classe, comme FileLocation ou tout ce qui correspond à votre nomenclature. Il sera alors très naturel de déclarer des variables FileLocation nommées fileLocation ou inputFileLocation ou même fl si vous êtes négligent.

0

Si le chemin que vous utilisez inclut le protocole "file: //", il s'agit en fait d'un URL.

7

Les deux premiers sont des URL, le troisième est un chemin de fichier. Bien sûr, le protocole file: /// ne fait référence qu'à un fichier. Lorsque vous utilisez la classe Uri, vous pouvez utiliser les propriétés IsFile et LocalPath pour gérer le fichier: /// Uris. Dans ce cas, vous devez également le nommer.

2

Personnellement, je dirais que la variable en question « fileName »

1

Choisissez celui que vous allez utiliser en interne pour commencer. Si vous avez besoin de prendre en charge les URL, utilisez des URL partout en interne et disposez de toute méthode permettant de définir la variable si elle a un chemin de fichier et de la contraindre à une URL immédiatement.

2

en fait une URL formelle sera file: /// c | /files/someFile.dat

urls commence toujours avec le protocole: // puis chemin + nom, avec '/' comme seperator. Windows IE mauvais utilisent parfois '\' pour remplacer '/', mais l'utilisation formelle est '/'.