extract URL path first, then filename

use URI class to extract file path from arbitrary URI, then hand it over to File class for filename extraction

to address Issue #4