question: public static String canonical ( File p ) { try { return p . getCanonicalPath ( ) ; } catch ( IOException e ) { String x = p . getAbsolutePath ( ) ; return x == null ? p . getPath ( ) : x ; } }
target:  Returns a full path to the provided file. Returns the canonical path, unless that is not available, in which case it returns the absolute path.