operations on URIs (resolving relative URIs, and dereferencing to obtain a connection to the remote file) to be used successfully. However, because these URIs are non-standard, some less common operations fail: an example is the normalize operation (defined in RFC 3986 and implemented in the Java java.net.URI.normalize() method) which reduces file:////server/folder/data.xml to the unusable form file:/server/folder/data.xml. Examples Unix Here are two Unix examples pointing to the same /etc/fstab file: file://localhost/etc/fstab file:///etc/fstab The KDE environment uses URIs without an authority field: file:/etc/fstab Windows Here are some examples which may be accepted by some applications on Windows systems, referring to the same, local file c:\WINDOWS\clock.avi file://localhost/c:/WINDOWS/clock.avi file:///c:/WINDOWS/clock.avi Here is the URI as understood by the Windows Shell API: file:///c:/WINDOWS/clock.avi Note that the drive letter followed by a colon and slash is part of the acceptable file URI. Implementations Windows On Microsoft Windows systems, the normal colon (:) after a device letter has sometimes been replaced by a vertical bar (|) in file URLs. This reflected the original URL syntax, which made the colon a reserved character in a path part. Since Internet Explorer 4, file URIs have been standardized on Windows, and should follow the following scheme. This applies to all applications which use URLMON or SHLWAPI for parsing, fetching or binding to URIs. To convert a path to a URL, use UrlCreateFromPath, and to convert a URL to a path, use PathCreateFromUrl. To access a file "the file.txt", the following might be used. For a network location: file://hostname/path/to/the%20file.txt Or for a local file, the hostname is omitted, but the slash is not (note the third slash): file:///c:/path/to/the%20file.txt This is not the same as providing the string "localhost" or the dot "." in place of the hostname. The string "localhost" will attempt to access the file as UNC path \\localhost\c:\path\to\the file.txt, which will not work since the colon is not allowed in a share name. The dot "." results in the string being passed as \\.\c:\path\to\the file.txt, which will work for local files, but not shares on the local system. For example file://./sharename/path/to/the%20file.txt will not work, because it will result in sharename being interpreted as part of the DOSDEVICES namespace, not as a network share. The following outline roughly describes the requirements. The colon should be used, and should not be replaced with a vertical bar for Internet Explorer. Forward slashes should be used to delimit paths. Characters such as the hash