public String getDirectoryFilesName(String path, User currentUser, Directory currentDir)
     throws FileUnknownException, AccessDeniedException {
   if (path.equals(".")) return currentDir.getDirectoryFilesName();
   else if (path.equals("..")) return currentDir.getFather().getDirectoryFilesName();
   File target = absolutePath(path, currentUser, currentDir).getFileByName(getLastPathToken(path));
   target.checkAccessRead(currentUser);
   return target.getDirectoryFilesName();
 }
  String readFile(String path, Directory currentDirectory, User currentUser)
      throws FileUnknownException, IsNotPlainFileException, AccessDeniedException {

    Directory directory = absolutePath(path, currentUser, currentDirectory);
    String filename = getLastPathToken(path);
    File f = directory.getFileByName(filename);
    f.checkAccessRead(currentUser);
    return f.printContent(currentUser);
  }