That check wouldn't cover all cases. It would need to be:

  ((defaultFs == null || defaultFs == "file") && uri.getScheme == null)) || uri.getScheme == "file"

(Which, btw, is the same check the pattern matcher is doing.) At that point I think the current code is more readable.