Какие протоколы, которые commons-io FileUtils.copyUrlToFile позволяют копировать?Какие протоколы поддерживает FileUtils.copyUrlToFile?
ответ
Короткий ответ: Это зависит от виртуальной машины Java, но по крайней мере http
, https
, file
и jar
будет работать.
Длинный ответ: FileUils использует Java java.net.URL
для обработки фактического соединения. java.net.url
использует специфичные для протокола экземпляры URLStreamHandler для реализации разных протоколов. Обработчики найдены динамически, и вы можете add your own. Согласно Javadoc, вы гарантированно иметь HTTP, HTTPS, файловые и фляги обработчики:
обработчики протокола для следующих протоколов гарантированно существует на пути поиска: -
HTTP, HTTPS, файл и баночка
На всех JVM-устройствах не гарантируется наличие других обработчиков для других протоколов. На моей машине Windows x64, которая использует Java 8u111, под sun.net.www.protocol
, я также вижу mailto
, ftp
и netdoc
обработчиками, что означает, что эти протоколы поддерживаются. Обратите внимание, что тот факт, что протокол поддерживается, не означает, что copyUrlToFile
имеет смысл для него (например, mailto)