文件路径是url吗?

发布于 2024-07-18 12:18:44 字数 253 浏览 5 评论 0 原文

我在代码中有一个变量,可以将文件路径或 url 作为值。 示例:

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

因此有两种方法来表示文件,我不能忽略其中任何一种。 这种变量的正确名称是什么:路径、url、位置?

我正在使用第 3 方 api,因此我无法更改语义或分离更多变量。

I have a variable in code that can have file path or url as value. Examples:

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

So there are two ways to represent a file and I can't ignore any of them.
What is the correct name for such a variable: path, url, location?

I'm using a 3rd party api so I can't change semantics or separate to more variables.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

北风几吹夏 2024-07-25 12:18:44

前两个是 URL,第三个是文件路径。 当然,file:/// 协议也仅指一个文件。

使用 Uri 类时,可以使用 IsFileLocalPath 属性来处理 file:/// Uris,在这种情况下,您也应该这样命名。

The first two are URLs, the third is a file path. Of course, the file:/// protocol is only referring to a file also.

When using the Uri class, you can use the IsFile and the LocalPath properties to handle file:/// Uris, and in that case you should also name it like that.

秋意浓 2024-07-25 12:18:44

就我个人而言,我会将有问题的变量称为“fileName”

Personally, I'd call the variable in question "fileName"

套路撩心 2024-07-25 12:18:44

事实上,正式的 URL 将是 file:///c|/files/someFile.dat

url 始终以协议:// 开头,然后是路径 + 名称,以“/”作为分隔符。
邪恶的windows IE有时会使用'\'来代替'/',但正式用法是'/'。

in fact a formal URL will be file:///c|/files/someFile.dat

urls always starts with protocol:// and then path + names, with '/' as seperator.
evil windows IE sometimes use '\' to replace '/', but the formal usage is '/'.

怼怹恏 2024-07-25 12:18:44

如果这些值对您的应用程序来说并非不透明,您可能会发现将它们建模为类会更好。 否则,每当您要对值进行操作时,您可能会发现自己正在编写如下代码:

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

您可以将一些有关处理值的功能折叠到您的类中,但最好将其视为不可变的值类型。

为您的类使用描述性名称,例如 FileLocation 或任何适合您的命名法的名称。 然后,声明名为 fileLocation 或 inputFileLocation 的 FileLocation 变量是非常自然的,如果你不小心的话,甚至可以声明为 fl。

If the values are not opaque to your application you may find it better to model them as a class. Otherwise, whenever you are going to act upon the values you may find yourself writing code like this:

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

You may fold some of the functionality regarding treatment of the values into your class, but it is properly better to treat it as an immutable value type.

Use a descriptive name for your class like FileLocation or whatever fits your nomenclature. It will then be very natural to declare FileLocation variables named fileLocation or inputFileLocation or even fl if you are sloppy.

浅忆流年 2024-07-25 12:18:44

首先选择您将在内部使用的一个。 如果您需要支持 URL,请在内部到处使用 URL,并使用任何可以设置变量的方法来检查它是否获得文件路径,并立即将其强制为 URL。

Pick one that you'll be using internally to start with. If you need to support URLs, use URLs internally everywhere, and have any method that can set the variable check if it got a file path, and coerce it to an URL immediately.

拥抱我好吗 2024-07-25 12:18:44

如果您使用的路径包含协议“file://”,那么它实际上是一个 url。

if the path you are using includes the protocol "file://" then it is in fact a url.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文