A valid URI does not contain backslashes, and if it contains a :
then the characters before the first :
must be a "protocol".
Basically "C:Documents and SettingsAll Users.SFconfigsd.xml"
is a pathname, and not a valid URI.
If you want to turn a pathname into a "file:" URI, then do the following:
File f = new File("C:Documents and SettingsAll Users.SFconfigsd.xml");
URI u = f.toURI();
This is the simplest, and most reliable and portable way to turn a pathname into a valid URI in Java. It should work on Windows, Mac, Linux and any other platform that supports Java. (Other solutions that involve using string bashing on a pathname are not portable.)
But you need to realize that "file:" URIs have a number of caveats, as described in the javadocs for the File.toURI()
method. For example, a "file:" URI created on one machine usually denotes a different resource (or no resource at all) on another machine.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…