【发布时间】:2016-11-11 05:12:34
【问题描述】:
commons-io FileUtils.copyUrlToFile 允许从哪些协议复制?
【问题讨论】:
标签: java network-programming apache-commons network-protocols
commons-io FileUtils.copyUrlToFile 允许从哪些协议复制?
【问题讨论】:
标签: java network-programming apache-commons network-protocols
简短回答:这取决于 JVM,但至少 http、https、file 和 jar 可以工作。
长答案:FileUils 使用 Java 的 java.net.URL 来处理实际连接。 java.net.url 使用特定于协议的 URLStreamHandler 实例来实现不同的协议。处理程序是动态找到的,您可以add your own。根据Javadoc,保证您拥有http、https、文件和jar 处理程序:
保证存在以下协议的协议处理程序 在搜索路径上:-
http、https、文件和jar
不保证每个 JVM 上都存在其他协议的处理程序。在我使用 Java 8u111 的 Windows x64 机器上,在 sun.net.www.protocol 下,我还看到了 mailto、ftp 和 netdoc 处理程序,这意味着支持这些协议。请注意,支持协议这一事实并不意味着 copyUrlToFile 对它有意义(例如 mailto)
【讨论】: