added listFiles(FileFilter) and canRead()