In the Javadoc for FileSystem.getPathMatcher, the explanations for the /home/* syntaxes explicitly state "on UNIX platforms". Shouldn't these forms match on Windows platforms as well? How else do you write a platform-independent pattern? I'd think the best definition would be to match the name separator character returned by FileSystem.getSeparator().