re: "Using package to avoid ambiguity" - Unlike Scala, this is really cumbersome in Java as it doesn't support package imports or import aliases, so the only way to distinguish is to use the fully qualified path.
re: Closable - it can throw IOException but is not required to. Same with AutoCloseable (are J7-specific classes and methods permitted?). Closable and AutoClosable are really nice in eliminating finally clauses. What to do with a exception on close()? Log it, use it as a signal of environment health and move on. If it happens too frequently, you know your process environment is degraded and might need to fail over and restart.