首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"file:///“”和"file://“”的区别

"file:///“”和"file://“”的区别
EN

Stack Overflow用户
提问于 2014-08-17 22:00:24
回答 3查看 2.7K关注 0票数 2

我两次都试了,都做了同样的事。有什么区别(只是为了利息)吗?

我有一个WebView,它加载本地数据,并能够提交这样的URL。

示例:

代码语言:javascript
复制
webView.loadUrl("file://storage/emulated/0/folder1/folder2/hello.html"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-17 22:30:00

按照规范执行file://storage/emulated/0/folder1/folder2/hello.html是无效的。这里的storage应该表示主机名。

在使用文件URI方案时,您可以选择忽略表示路径的主机。这是在wiki页面上描述的,我在下面引用它。

文件URI的形式为

file://host/path

其中,主机是可访问路径的系统的完全限定域名,path是表单目录/目录/./ name的分层目录路径。如果省略了主机,则将其视为"localhost",即解释URL的机器。注意,当省略主机时,斜杠不会被省略("file:///foo.txt“是有效的,而"file://foo.txt”不是,尽管一些解释器设法处理后者)。

我的猜测是,webView.loadUrl很宽容,并且接受不符合规范的文件URI。Uri.fromFile()还提供了一个关于正确格式的示例。

示例:"file:///tmp/android.txt“”

票数 3
EN

Stack Overflow用户

发布于 2014-08-17 22:05:23

使用schema://将模式与路径分离的URL定义的差异。接下来您将指定路径,如果路径是绝对的,那么它以/开头。Unix上正确的url

代码语言:javascript
复制
"file:///storage/emulated/0/folder1/folder2/hello.html"

但它可能在Windows上

代码语言:javascript
复制
"file://c:/storage/emulated/0/folder1/folder2/hello.html"
票数 4
EN

Stack Overflow用户

发布于 2014-08-17 22:05:37

file://是一个URL前缀,就像http://https://一样。

如果您有三个斜杠,那么如果只有两个斜杠,那么文件路径将是/storage/emulated/...而不是storage/emulated/...

前者在storage文件夹(根文件夹)中查找名为/的文件夹,并从那里继续。

后者应该在工作目录中查找一个名为storage的文件夹,然后从那里继续。我不知道为什么不行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25354048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档