in commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/local/WindowsFileNameParser.java [113:142]
private String extractWindowsRootPrefix(final String uri, final StringBuilder name) throws FileSystemException {
// Looking for:
// ('/'){0, 3} <letter> ':' '/'
// ['/'] '//' <name> '/' <name> ( '/' | <end> )
// Skip over first 4 (unc) leading '/' chars
int startPos = 0;
final int maxlen = Math.min(4, name.length());
while (startPos < maxlen && name.charAt(startPos) == '/') {
startPos++;
}
if (startPos == maxlen && name.length() > startPos + 1 && name.charAt(startPos + 1) == '/') {
// Too many '/'
throw new FileSystemException("vfs.provider.local/not-absolute-file-name.error", uri);
}
name.delete(0, startPos);
// Look for drive name
final String driveName = extractDrivePrefix(name);
if (driveName != null) {
return driveName;
}
// Look for UNC name
if (startPos < 2) {
throw new FileSystemException("vfs.provider.local/not-absolute-file-name.error", uri);
}
return "//" + extractUNCPrefix(uri, name);
}