This class provides a convenient way of working with paths. It supports the common path formats:

  • directory1/directory2/filename.extension
  • directory1\directory2\filename.extension



Creates a new Path instance by parsing path.

Path information can be retrieved by accessing the dir, file and ext properties.



True if the last directory separator is a backslash, false otherwise.


The directory.

This is the leading part of the path that is not part of the file name and the extension.

Does not end with a / or \ separator.

If the path has no directory, the value is null.


The file extension.

It is separated from the file name by a dot. This dot is not part of the extension.

If the path has no extension, the value is null.


The file name.

This is the part of the part between the directory and the extension.

If there is no file name, e.g. for ".htaccess" or "/dir/", the value is the empty String "".

Static methods


Returns the directory of path.

If the directory is null, the empty String "" is returned.

If path is null, the result is unspecified.


Normalize a given path (e.g. make '/usr/local/../lib' to '/usr/lib').

Also replaces backslashes \ with slashes / and afterwards turns multiple slashes into a single one.

If path is null, the result is unspecified.