A Path is the name of a file or some other resource.
A general path, which can be a
filenameor aURI. It can be either afilenameor aURI. Represented using the abstract Java classjava.text.Path.Coercing a value to a
Pathis equivalent to calling thepathconstructor documented below.
Coerces the
argto apath. Ifargis already apath, it is returned unchanged. Ifargis ajava.net.URI, or ajava.net.URLthen aURIvalue is returned. Ifargis ajava.io.File, afilepathvalue is returned. Otherwise,argcan be a Scheme string or ajava.lang.String. AURIvalue is returns if the string starts with a URI scheme (such as"http:"), and afilepathvalue is returned otherwisw.
The name of a local file. Represented using the Java class
gnu.text.FilePath, which is a wrapper aroundjava.io.File.
A Uniform Resource Indicator, which is a generalization of the more familiar URL. The general format is specified by RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. Represented using the Java class
gnu.text.URIPath, which is a wrapper aroundjava.net.URI. A URI can be a URL, or it be a relative URI.
Returns the “URI scheme” of
arg(coerced to apath) if it is defined, or#fotherwise. The URI scheme of afilepathis"file"if thefilepathis absolute, and#fotherwise.(path-scheme "http://gnu.org/") ⇒ "http"
Returns the authority part of
arg(coerced to apath) if it is defined, or#fotherwise. The “authority” is usually the hostname, but may also include user-info or a port-number.(path-authority "http://me@localhost:8000/home") ⇒ "me@localhost:8000"
Returns the name name part of
arg(coerced to apath) if it is defined, or#fotherwise.(path-host "http://me@localhost:8000/home") ⇒ "localhost"
Returns the “user info” of
arg(coerced to apath) if it is specified, or#fotherwise.(path-host "http://me@localhost:8000/home") ⇒ "me"
Returns the port number of
arg(coerced to apath) if it is specified, or-1otherwise. Even if there is a default port associated with a URI scheme (such as 80 forhttp), the value -1 is returned unless the port number is explictly specified.(path-host "http://me@localhost:8000/home") ⇒ 8000 (path-host "http://me@localhost/home") ⇒ -1
Returns the “path component” of the
arg(coerced to apath). (The namepath-pathmight be more logical, but it is obviously a bit awkward.) The path component of a file name is the file name itself. For a URI, it is the main hierarchical part of the URI, without schema, authority, query, or fragment.(path-file "http://gnu.org/home/me.html?add-bug#body") ⇒ "/home/me.html"
If
arg(coerced to apath) is directory, returnarg; otherwise return the “parent” path, without the final component.(path-directory "http://gnu.org/home/me/index.html#body") ⇒ (path "http://gnu.org/home/me/") (path-directory "http://gnu.org/home/me/") ⇒ (path "http://gnu.org/home/me/")
(path-directory "./dir")⇒(path "./dir")ifdiris a directory, and(path ".")otherwise.
Returns the “parent directory” of
arg(coerced to apath). Ifargis not a directory, same aspath-directory.arg(path-parent "a/b/c") ⇒ (path "a/b") (path-parent "file:/a/b/c") ⇒ (path "file:/a/b/c") (path-parent "file:/a/b/c/") ⇒ (path "file:/a/b/")
The last component of path component of
arg(coerced to apath). Returns a substring of(path-file. If that string ends with ‘arg)/’ or the path separator, that last character is ignored. Returns the tail of the path-string, following the last (non-final) ‘/’ or path separator.(path-last "http:/a/b/c") ⇒ "c" (path-last "http:/a/b/c/") ⇒ "c" (path-last "a/b/c") ⇒ "c"
Returns the “extension” of the
arg(coerced to apath).(path-extension "http://gnu.org/home/me.html?add-bug#body") ⇒ "html" (path-extension "/home/.init") ⇒ #f
Returns the query part of
arg(coerced to apath) if it is defined, or#fotherwise. The query of a URI is the part of after ‘?’.(path-query "http://gnu.org/home?add-bug") ⇒ "add-bug"