The “file” URI is defined by RFC8089.


A Default port of nil for URI::File.

An Array of the available components for URI::File.

Class Methods


Creates a new URI::File object from components, with syntax checking.

The components accepted are host and path.

The components should be provided either as an Array, or as a Hash with keys formed by preceding the component names with a colon.

If an Array is used, the components must be passed in the order [host, path].

A path from e.g. the File class should be escaped before being passed.


require 'uri'

uri1 =['', '/path/'])
uri1.to_s  # => "file://"

uri2 ={:host => '',
  :path => '/ruby/src'})
uri2.to_s  # => "file://"

uri3 ={:path => URI::escape('/path/my file.txt')})
uri3.to_s  # => "file:///path/my%20file.txt"
Instance Methods

Protected setter for the host component v.

See also

do nothing

do nothing

do nothing

do nothing