2009-04-30 4 views
2

У меня есть переменная в коде, которая может иметь путь к файлу или URL-адрес в качестве значения. Примеры:Является ли путь к файлу URL?

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

Таким образом, существует два способа представления файла, и я не могу игнорировать их. Какое правильное имя для такой переменной: путь, url, location?

Я использую стороннюю api, поэтому я не могу изменить семантику или разделить на большее количество переменных.

ответ

0

Если значения не являются непрозрачными для вашего приложения, вам может показаться лучше моделировать их как класс. В противном случае, когда вы собираетесь действовать на значения, которые вы можете найти себе писать код, как это:

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

Вы можете свернуть некоторые функции в отношении обработки значений в классе, но это правильно лучше лечить это как неизменный тип ценности.

Используйте описательное имя для своего класса, например FileLocation, или что-то подходящее для вашей номенклатуры. Тогда будет очень естественно объявлять переменные FileLocation с именем fileLocation или inputFileLocation или даже fl, если вы неаккуратно.

0

Если путь, который вы используете, содержит протокол «файл: //», то он на самом деле является URL-адресом.

7

Первые два являются URL-адресами, третий путь к файлу. Конечно, протокол file: /// ссылается только на файл.

При использовании Uri класса, вы можете использовать IsFile и LocalPath свойства для обработки файла: /// Юрис, и в этом случае вы должны также назвать это так.

2

Лично я бы назвал переменную в вопросе «имя_файла»

1

Выберите тот, который вы будете использовать внутренне, чтобы начать с. Если вам нужно поддерживать URL-адреса, используйте внутренние URL-адреса повсюду, и у вас есть какой-либо метод, который может установить переменную, проверить, получил ли он путь к файлу, и немедленно принудить его к URL-адресу.

2

фактически формальный URL будет файл: /// C | /files/someFile.dat

URLs всегда начинается с протоколом: //, а затем путь + имена, с '/' в качестве разделителя. злые окна IE иногда используют '\' для замены '/', но формальное использование - '/'.