public static String relativePath(File file,File dir){
  checkArgument(file.isFile() || file.isDirectory(),"%s is not a file nor a directory.",file.getPath());
  checkArgument(dir.isDirectory(),"%s is not a directory.",dir.getPath());
  return relativePossiblyNonExistingPath(file,dir);
}

public static String relativePath ( File file , File dir ) { checkArgument ( file . isFile ( ) || file . isDirectory ( ) , "%s is not a file nor a directory." , file . getPath ( ) ) ; checkArgument ( dir . isDirectory ( ) , "%s is not a directory." , dir . getPath ( ) ) ; return relativePossiblyNonExistingPath ( file , dir ) ; }
computes the relative of a file or directory with respect to a directory .
