Extensions for java.nio.file.Path

JVM
JRE7
1.5

absolute

Converts this possibly relative path to an absolute path.

fun Path.absolute(): Path
JVM
JRE7
1.5

absolutePathString

Converts this possibly relative path to an absolute path and returns its string representation.

fun Path.absolutePathString(): String
JVM
JRE7
1.5

appendBytes

Appends an array of bytes to the content of this file.

fun Path.appendBytes(array: ByteArray)
JVM
JRE7
1.5

appendLines

Appends the specified collection of char sequences lines to a file terminating each one with the platform's line separator.

fun Path.appendLines(
    lines: Iterable<CharSequence>,
    charset: Charset = Charsets.UTF_8
): Path

Appends the specified sequence of char sequences lines to a file terminating each one with the platform's line separator.

fun Path.appendLines(
    lines: Sequence<CharSequence>,
    charset: Charset = Charsets.UTF_8
): Path
JVM
JRE7
1.5

appendText

Appends text to the content of this file using UTF-8 or the specified charset.

fun Path.appendText(
    text: CharSequence,
    charset: Charset = Charsets.UTF_8)
JVM
JRE7
1.5

bufferedReader

Returns a new BufferedReader for reading the content of this file.

fun Path.bufferedReader(
    charset: Charset = Charsets.UTF_8,
    bufferSize: Int = DEFAULT_BUFFER_SIZE,
    vararg options: OpenOption
): BufferedReader
JVM
JRE7
1.5

bufferedWriter

Returns a new BufferedWriter for writing the content of this file.

fun Path.bufferedWriter(
    charset: Charset = Charsets.UTF_8,
    bufferSize: Int = DEFAULT_BUFFER_SIZE,
    vararg options: OpenOption
): BufferedWriter
JVM
JRE7
1.5

copyTo

Copies a file or directory located by this path to the given target path.

fun Path.copyTo(
    target: Path,
    overwrite: Boolean = false
): Path
fun Path.copyTo(
    target: Path,
    vararg options: CopyOption
): Path
JVM
JRE7
1.8

copyToRecursively

Recursively copies this directory and its content to the specified destination target path. Note that if this function throws, partial copying may have taken place.

fun Path.copyToRecursively(
    target: Path,
    onError: (source: Path, target: Path, exception: Exception) -> OnErrorResult = { _, _, exception -> throw exception },
    followLinks: Boolean,
    overwrite: Boolean
): Path
fun Path.copyToRecursively(
    target: Path,
    onError: (source: Path, target: Path, exception: Exception) -> OnErrorResult = { _, _, exception -> throw exception },
    followLinks: Boolean,
    copyAction: CopyActionContext.(source: Path, target: Path) -> CopyActionResult = { src, dst -> src.copyToIgnoringExistingDirectory(dst, followLinks) }
): Path
JVM
JRE7
1.5

createDirectories

Creates a directory ensuring that all nonexistent parent directories exist by creating them first.

fun Path.createDirectories(
    vararg attributes: FileAttribute<*>
): Path
JVM
JRE7
1.5

createDirectory

Creates a new directory or throws an exception if there is already a file or directory located by this path.

fun Path.createDirectory(
    vararg attributes: FileAttribute<*>
): Path
JVM
JRE7
1.5

createFile

Creates a new and empty file specified by this path, failing if the file already exists.

fun Path.createFile(
    vararg attributes: FileAttribute<*>
): Path
JVM
JRE7
1.5

createLinkPointingTo

Creates a new link (directory entry) located by this path for the existing file target.

fun Path.createLinkPointingTo(target: Path): Path
JVM
JRE7
1.9

createParentDirectories

Ensures that all parent directories of this path exist, creating them if required.

fun Path.createParentDirectories(
    vararg attributes: FileAttribute<*>
): Path
JVM
JRE7
1.5

createSymbolicLinkPointingTo

Creates a new symbolic link located by this path to the given target.

fun Path.createSymbolicLinkPointingTo(
    target: Path,
    vararg attributes: FileAttribute<*>
): Path
JVM
JRE7
1.5

deleteExisting

Deletes the existing file or empty directory specified by this path.

fun Path.deleteExisting()
JVM
JRE7
1.5

deleteIfExists

Deletes the file or empty directory specified by this path if it exists.

fun Path.deleteIfExists(): Boolean
JVM
JRE7
1.8

deleteRecursively

Recursively deletes this directory and its content. Note that if this function throws, partial deletion may have taken place.

fun Path.deleteRecursively()
JVM
JRE7
1.5

div

Resolves the given other path against this path.

operator fun Path.div(other: Path): Path

Resolves the given other path string against this path.

operator fun Path.div(other: String): Path
JVM
JRE7
1.5

exists

Checks if the file located by this path exists.

fun Path.exists(vararg options: LinkOption): Boolean
JVM
JRE7
1.5

extension

Returns the extension of this path (not including the dot), or an empty string if it doesn't have one.

val Path.extension: String
JVM
JRE7
1.5

fileAttributesView

Returns a file attributes view of a given type V or throws an UnsupportedOperationException if the requested attribute view type is not available..

fun <V : FileAttributeView> Path.fileAttributesView(
    vararg options: LinkOption
): V
JVM
JRE7
1.5

fileAttributesViewOrNull

Returns a file attributes view of a given type V or null if the requested attribute view type is not available.

fun <V : FileAttributeView> Path.fileAttributesViewOrNull(
    vararg options: LinkOption
): V?
JVM
JRE7
1.5

fileSize

Returns the size of a regular file as a Long value of bytes or throws an exception if the file doesn't exist.

fun Path.fileSize(): Long
JVM
JRE7
1.5

fileStore

Returns the FileStore representing the file store where a file is located.

fun Path.fileStore(): FileStore
JVM
JRE7
1.5

forEachDirectoryEntry

Performs the given action on each entry in this directory optionally filtered by matching against the specified glob pattern.

fun Path.forEachDirectoryEntry(
    glob: String = "*",
    action: (Path) -> Unit)
JVM
JRE7
1.5

forEachLine

Reads this file line by line using the specified charset and calls action for each line. Default charset is UTF-8.

fun Path.forEachLine(
    charset: Charset = Charsets.UTF_8,
    action: (line: String) -> Unit)
JVM
JRE7
1.5

getAttribute

Reads the value of a file attribute.

fun Path.getAttribute(
    attribute: String,
    vararg options: LinkOption
): Any?
JVM
JRE7
1.5

getLastModifiedTime

Returns the last modified time of the file located by this path.

fun Path.getLastModifiedTime(
    vararg options: LinkOption
): FileTime
JVM
JRE7
1.5

getOwner

Returns the owner of a file.

fun Path.getOwner(vararg options: LinkOption): UserPrincipal?
JVM
JRE7
1.5

getPosixFilePermissions

Returns the POSIX file permissions of the file located by this path.

fun Path.getPosixFilePermissions(
    vararg options: LinkOption
): Set<PosixFilePermission>
JVM
JRE7
1.5

inputStream

Constructs a new InputStream of this file and returns it as a result.

fun Path.inputStream(vararg options: OpenOption): InputStream
JVM
JRE7
1.4

invariantSeparatorsPath

val Path.invariantSeparatorsPath: String
JVM
JRE7
1.5

invariantSeparatorsPathString

Returns the string representation of this path using the invariant separator '/' to separate names in the path.

val Path.invariantSeparatorsPathString: String
JVM
JRE7
1.5

isDirectory

Checks if the file located by this path is a directory.

fun Path.isDirectory(vararg options: LinkOption): Boolean
JVM
JRE7
1.5

isExecutable

Checks if the file located by this path exists and is executable.

fun Path.isExecutable(): Boolean
JVM
JRE7
1.5

isHidden

Checks if the file located by this path is considered hidden.

fun Path.isHidden(): Boolean
JVM
JRE7
1.5

isReadable

Checks if the file located by this path exists and is readable.

fun Path.isReadable(): Boolean
JVM
JRE7
1.5

isRegularFile

Checks if the file located by this path is a regular file.

fun Path.isRegularFile(vararg options: LinkOption): Boolean
JVM
JRE7
1.5

isSameFileAs

Checks if the file located by this path points to the same file or directory as other.

fun Path.isSameFileAs(other: Path): Boolean
JVM
JRE7
1.5

isSymbolicLink

Checks if the file located by this path exists and is a symbolic link.

fun Path.isSymbolicLink(): Boolean
JVM
JRE7
1.5

isWritable

Checks if the file located by this path exists and is writable.

fun Path.isWritable(): Boolean
JVM
JRE7
1.5

listDirectoryEntries

Returns a list of the entries in this directory optionally filtered by matching against the specified glob pattern.

fun Path.listDirectoryEntries(glob: String = "*"): List<Path>
JVM
JRE7
1.5

moveTo

Moves or renames the file located by this path to the target path.

fun Path.moveTo(
    target: Path,
    vararg options: CopyOption
): Path
fun Path.moveTo(
    target: Path,
    overwrite: Boolean = false
): Path
JVM
JRE7
1.5

name

Returns the name of the file or directory denoted by this path as a string, or an empty string if this path has zero path elements.

val Path.name: String
JVM
JRE7
1.5

nameWithoutExtension

Returns the name of this file or directory without an extension, or an empty string if this path has zero path elements.

val Path.nameWithoutExtension: String
JVM
JRE7
1.5

notExists

Checks if the file located by this path does not exist.

fun Path.notExists(vararg options: LinkOption): Boolean
JVM
JRE7
1.5

outputStream

Constructs a new OutputStream of this file and returns it as a result.

fun Path.outputStream(
    vararg options: OpenOption
): OutputStream
JVM
JRE7
1.5

pathString

Returns the string representation of this path.

val Path.pathString: String
JVM
JRE7
1.5

readAttributes

Reads a file's attributes of the specified type A in bulk.

fun <A : BasicFileAttributes> Path.readAttributes(
    vararg options: LinkOption
): A

Reads the specified list of attributes of a file in bulk.

fun Path.readAttributes(
    attributes: String,
    vararg options: LinkOption
): Map<String, Any?>
JVM
JRE7
1.5

readBytes

Gets the entire content of this file as a byte array.

fun Path.readBytes(): ByteArray
JVM
JRE7
1.5

reader

Returns a new InputStreamReader for reading the content of this file.

fun Path.reader(
    charset: Charset = Charsets.UTF_8,
    vararg options: OpenOption
): InputStreamReader
JVM
JRE7
1.5

readLines

Reads the file content as a list of lines.

fun Path.readLines(
    charset: Charset = Charsets.UTF_8
): List<String>
JVM
JRE7
1.5

readSymbolicLink

Reads the target of a symbolic link located by this path.

fun Path.readSymbolicLink(): Path
JVM
JRE7
1.5

readText

Gets the entire content of this file as a String using UTF-8 or the specified charset.

fun Path.readText(charset: Charset = Charsets.UTF_8): String
JVM
JRE7
1.5

relativeTo

Calculates the relative path for this path from a base path.

fun Path.relativeTo(base: Path): Path
JVM
JRE7
1.5

relativeToOrNull

Calculates the relative path for this path from a base path.

fun Path.relativeToOrNull(base: Path): Path?
JVM
JRE7
1.5

relativeToOrSelf

Calculates the relative path for this path from a base path.

fun Path.relativeToOrSelf(base: Path): Path
JVM
JRE7
1.5

setAttribute

Sets the value of a file attribute.

fun Path.setAttribute(
    attribute: String,
    value: Any?,
    vararg options: LinkOption
): Path
JVM
JRE7
1.5

setLastModifiedTime

Sets the last modified time attribute for the file located by this path.

fun Path.setLastModifiedTime(value: FileTime): Path
JVM
JRE7
1.5

setOwner

Sets the file owner to the specified value.

fun Path.setOwner(value: UserPrincipal): Path
JVM
JRE7
1.5

setPosixFilePermissions

Sets the POSIX file permissions for the file located by this path.

fun Path.setPosixFilePermissions(
    value: Set<PosixFilePermission>
): Path
JVM
JRE7
1.5

useDirectoryEntries

Calls the block callback with a sequence of all entries in this directory optionally filtered by matching against the specified glob pattern.

fun <T> Path.useDirectoryEntries(
    glob: String = "*",
    block: (Sequence<Path>) -> T
): T
JVM
JRE7
1.5

useLines

Calls the block callback giving it a sequence of all the lines in this file and closes the reader once the processing is complete.

fun <T> Path.useLines(
    charset: Charset = Charsets.UTF_8,
    block: (Sequence<String>) -> T
): T
JVM
JRE7
1.7

visitFileTree

Visits this directory and all its content with the specified visitor.

fun Path.visitFileTree(
    visitor: FileVisitor<Path>,
    maxDepth: Int = Int.MAX_VALUE,
    followLinks: Boolean = false)

Visits this directory and all its content with the FileVisitor defined in builderAction.

fun Path.visitFileTree(
    maxDepth: Int = Int.MAX_VALUE,
    followLinks: Boolean = false,
    builderAction: FileVisitorBuilder.() -> Unit)
JVM
JRE7
1.7

walk

Returns a sequence of paths for visiting this directory and all its content.

fun Path.walk(vararg options: PathWalkOption): Sequence<Path>
JVM
JRE7
1.5

writeBytes

Writes an array of bytes to this file.

fun Path.writeBytes(
    array: ByteArray,
    vararg options: OpenOption)
JVM
JRE7
1.5

writeLines

Write the specified collection of char sequences lines to a file terminating each one with the platform's line separator.

fun Path.writeLines(
    lines: Iterable<CharSequence>,
    charset: Charset = Charsets.UTF_8,
    vararg options: OpenOption
): Path

Write the specified sequence of char sequences lines to a file terminating each one with the platform's line separator.

fun Path.writeLines(
    lines: Sequence<CharSequence>,
    charset: Charset = Charsets.UTF_8,
    vararg options: OpenOption
): Path
JVM
JRE7
1.5

writer

Returns a new OutputStreamWriter for writing the content of this file.

fun Path.writer(
    charset: Charset = Charsets.UTF_8,
    vararg options: OpenOption
): OutputStreamWriter
JVM
JRE7
1.5

writeText

Sets the content of this file as text encoded using UTF-8 or the specified charset.

fun Path.writeText(
    text: CharSequence,
    charset: Charset = Charsets.UTF_8,
    vararg options: OpenOption)