class File extends AnyRef

Scala wrapper around java.nio.files.Path

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. File
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def /(child: Symbol): File
  4. def /(child: String): File
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def addPermission(permission: PosixFilePermission)(implicit linkOptions: LinkOptions = File.LinkOptions.default): File.this.type
  7. def append(text: String)(implicit charset: Charset = defaultCharset): File.this.type
  8. def appendByteArray(bytes: Array[Byte]): File.this.type
  9. def appendBytes(bytes: Iterator[Byte]): File.this.type
  10. def appendLine(line: String = "")(implicit charset: Charset = defaultCharset): File.this.type
  11. def appendLines(lines: String*)(implicit charset: Charset = defaultCharset): File.this.type

    For large number of lines that may not fit in memory, use printLines

  12. def appendText(text: String)(implicit charset: Charset = defaultCharset): File.this.type
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. def asynchronousFileChannel(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[AsynchronousFileChannel]
  15. def attributes(implicit linkOptions: LinkOptions = File.LinkOptions.default): BasicFileAttributes
  16. def bufferedReader(implicit charset: Charset = defaultCharset): ManagedResource[BufferedReader]
  17. def bufferedWriter(implicit charset: Charset = defaultCharset, openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[BufferedWriter]
  18. def byteArray: Array[Byte]
  19. def bytes: Iterator[Byte]
  20. def changeExtensionTo(extension: String): File

    Changes the file-extension by renaming this file; if file does not have an extension, it adds the extension Example usage file"foo.java".changeExtensionTo(".scala")

  21. def chars(implicit charset: Charset = defaultCharset): Iterator[Char]
  22. def checksum(algorithm: MessageDigest): String

    returns

    checksum of this file (or directory) in hex format

  23. def children: Files
  24. def clear()(implicit linkOptions: LinkOptions = File.LinkOptions.default): File.this.type

    If this is a directory, remove all its children If its a file, empty the contents

    If this is a directory, remove all its children If its a file, empty the contents

    returns

    this

  25. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. def collectChildren(matchFilter: (File) ⇒ Boolean)(implicit visitOptions: VisitOptions = File.VisitOptions.default): Files

    More Scala friendly way of doing Files.walk Note: This is lazy (returns an Iterator) and won't evaluate till we reify the iterator (e.g.

    More Scala friendly way of doing Files.walk Note: This is lazy (returns an Iterator) and won't evaluate till we reify the iterator (e.g. using .toList)

  27. def contains(file: File): Boolean

    Check if this directory contains this file

    Check if this directory contains this file

    returns

    true if this is a directory and it contains this file

  28. def contentAsString(implicit charset: Charset = defaultCharset): String
  29. def contentType: Option[String]
  30. def copyTo(destination: File, overwrite: Boolean = false)(implicit copyOptions: CopyOptions = File.CopyOptions(overwrite)): destination.type

    returns

    destination

  31. def copyToDirectory(directory: File)(implicit linkOptions: LinkOptions = File.LinkOptions.default, copyOptions: CopyOptions = File.CopyOptions.default): File

    Copies this file into the given directory

    Copies this file into the given directory

    returns

    the File referencing the new file created under destination

  32. def createChild(child: String, asDirectory: Boolean = false, createParents: Boolean = false)(implicit attributes: Attributes = File.Attributes.default, linkOptions: LinkOptions = File.LinkOptions.default): File
  33. def createDirectories()(implicit attributes: Attributes = File.Attributes.default): File.this.type
  34. def createDirectory()(implicit attributes: Attributes = File.Attributes.default): File.this.type
  35. def createIfNotExists(asDirectory: Boolean = false, createParents: Boolean = false)(implicit attributes: Attributes = File.Attributes.default, linkOptions: LinkOptions = File.LinkOptions.default): File.this.type

    Create this file.

    Create this file. If it exists, don't do anything

    asDirectory

    If you want this file to be created as a directory instead, set this to true (false by default)

    createParents

    If you also want all the parents to be created from root to this file (false by defailt)

  36. def delete(swallowIOExceptions: Boolean = false): File.this.type

    Deletes this file or directory

    Deletes this file or directory

    swallowIOExceptions

    If this is set to true, any exception thrown is swallowed

  37. def deleteOnExit(): File.this.type
  38. def digest(algorithm: MessageDigest): Array[Byte]
  39. def digestInputStream(digest: MessageDigest)(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[DigestInputStream]
  40. def dosAttributes(implicit linkOptions: LinkOptions = File.LinkOptions.default): DosFileAttributes
  41. def entries: Files
  42. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  43. def equals(obj: Any): Boolean
    Definition Classes
    File → AnyRef → Any
  44. def exists(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  45. def extension(includeDot: Boolean = true, includeAll: Boolean = false, toLowerCase: Boolean = true): Option[String]

    includeDot

    whether the dot should be included in the extension or not

    includeAll

    whether all extension tokens should be included, or just the last one e.g. for bundle.tar.gz should it be .tar.gz or .gz

    toLowerCase

    to lowercase the extension or not e.g. foo.HTML should have .html or .HTML

    returns

    extension of this file if it is a regular file and has an extension, else None

  46. def extension: Option[String]

    returns

    extension (including the dot) of this file if it is a regular file and has an extension, else None

  47. def fileChannel(implicit openOptions: OpenOptions = File.OpenOptions.default, attributes: Attributes = File.Attributes.default): ManagedResource[FileChannel]
  48. def fileReader: ManagedResource[FileReader]
  49. implicit val fileSystem: FileSystem
  50. def fileWriter(append: Boolean = false): ManagedResource[FileWriter]
  51. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  52. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  53. def glob(pattern: String, includePath: Boolean = true)(implicit syntax: PathMatcherSyntax = File.PathMatcherSyntax.default, visitOptions: VisitOptions = File.VisitOptions.default): Files

    Util to glob from this file's path

    Util to glob from this file's path

    includePath

    If true, we don't need to set path glob patterns e.g. instead of *

  54. def globRegex(pattern: Regex, includePath: Boolean = true)(implicit visitOptions: VisitOptions = File.VisitOptions.default): Files

    Util to match from this file's path using Regex

    Util to match from this file's path using Regex

    includePath

    If true, we don't need to set path glob patterns e.g. instead of *

  55. def group(implicit linkOptions: LinkOptions = File.LinkOptions.default): GroupPrincipal
  56. def groupName(implicit linkOptions: LinkOptions = File.LinkOptions.default): String
  57. def hasExtension: Boolean

    Returns the extension if file is a regular file If file is unreadable or does not exist, it is assumed to be not a regular file See: https://github.com/pathikrit/better-files/issues/89

  58. def hashCode(): Int
    Definition Classes
    File → AnyRef → Any
  59. def inputStream(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[InputStream]
  60. def isChildOf(parent: File): Boolean
  61. def isDirectory(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean

    returns

    true if this file (or the file found by following symlink) is a directory

  62. def isEmpty(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean

    returns

    true if file is not present or empty directory or 0-bytes file

  63. def isExecutable: Boolean
  64. def isGroupExecutable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  65. def isGroupReadable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  66. def isGroupWritable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  67. def isHidden: Boolean
  68. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  69. def isLocked(mode: RandomAccessMode, position: Long = 0L, size: Long = Long.MaxValue, isShared: Boolean = false): Boolean
  70. def isOthersExecutable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  71. def isOthersReadable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  72. def isOthersWritable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  73. def isOwnerExecutable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  74. def isOwnerReadable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  75. def isOwnerWritable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  76. def isParentOf(child: File): Boolean
  77. def isReadLocked(position: Long = 0L, size: Long = Long.MaxValue, isShared: Boolean = false): Boolean
  78. def isReadable: Boolean

    This differs from the above as this checks if the JVM can read this file even though the OS cannot in certain platforms

    This differs from the above as this checks if the JVM can read this file even though the OS cannot in certain platforms

    See also

    isOwnerReadable

  79. def isRegularFile(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean

    returns

    true if this file (or the file found by following symlink) is a regular file

  80. def isSameContentAs(that: File): Boolean

    returns

    true if this file is exactly same as that file For directories, it checks for equivalent directory structure

  81. def isSameFileAs(that: File): Boolean
  82. def isSamePathAs(that: File): Boolean
  83. def isSiblingOf(sibling: File): Boolean
  84. def isSimilarContentAs(that: File): Boolean

    Almost same as isSameContentAs but uses faster md5 hashing to compare (and thus small chance of false positive) Also works for directories

  85. def isSymbolicLink: Boolean
  86. def isWriteLocked(position: Long = 0L, size: Long = Long.MaxValue, isShared: Boolean = false): Boolean
  87. def isWriteable: Boolean
  88. def lastModifiedTime(implicit linkOptions: LinkOptions = File.LinkOptions.default): Instant
  89. def lineIterator(implicit charset: Charset = defaultCharset): Iterator[String]

    Iterate over lines in a file (auto-close stream on complete) NOTE: If the iteration is partial, it may leave a stream open If you want partial iteration use @see lines()

  90. def lines(implicit charset: Charset = defaultCharset): Traversable[String]

    Load all lines from this file Note: Large files may cause an OutOfMemory in which case, use the streaming version @see lineIterator

    Load all lines from this file Note: Large files may cause an OutOfMemory in which case, use the streaming version @see lineIterator

    returns

    all lines in this file

  91. def linkTo(destination: File, symbolic: Boolean = false)(implicit attributes: Attributes = File.Attributes.default): destination.type
  92. def list: Files
  93. def listRecursively(implicit visitOptions: VisitOptions = File.VisitOptions.default): Files
  94. def listRelativePaths(implicit visitOptions: VisitOptions = File.VisitOptions.default): Iterator[Path]
  95. def loadBytes: Array[Byte]
  96. def md5: String
  97. def moveTo(destination: File, overwrite: Boolean = false): destination.type

    returns

    destination

  98. def moveToDirectory(directory: File)(implicit linkOptions: LinkOptions = File.LinkOptions.default): File

    Moves this file into the given directory

    Moves this file into the given directory

    returns

    the File referencing the new file created under destination

  99. def name: String

    Name of file Certain files may not have a name e.g.

    Name of file Certain files may not have a name e.g. root directory - returns empty string in that case

  100. def nameOption: Option[String]

    Certain files may not have a name e.g.

    Certain files may not have a name e.g. root directory - returns None in that case

  101. def nameWithoutExtension(includeAll: Boolean): String

    includeAll

    For files with multiple extensions e.g. "bundle.tar.gz" nameWithoutExtension(includeAll = true) returns "bundle" nameWithoutExtension(includeAll = false) returns "bundle.tar"

  102. def nameWithoutExtension: String
  103. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  104. def newAsynchronousFileChannel(implicit openOptions: OpenOptions = File.OpenOptions.default): AsynchronousFileChannel
  105. def newBufferedReader(implicit charset: Charset = defaultCharset): BufferedReader
  106. def newBufferedWriter(implicit charset: Charset = defaultCharset, openOptions: OpenOptions = File.OpenOptions.default): BufferedWriter
  107. def newDigestInputStream(digest: MessageDigest)(implicit openOptions: OpenOptions = File.OpenOptions.default): DigestInputStream
  108. def newFileChannel(implicit openOptions: OpenOptions = File.OpenOptions.default, attributes: Attributes = File.Attributes.default): FileChannel
  109. def newFileReader: FileReader
  110. def newFileWriter(append: Boolean = false): FileWriter
  111. def newInputStream(implicit openOptions: OpenOptions = File.OpenOptions.default): InputStream
  112. def newOutputStream(implicit openOptions: OpenOptions = File.OpenOptions.default): OutputStream
  113. def newPrintWriter(autoFlush: Boolean = false)(implicit openOptions: OpenOptions = File.OpenOptions.default): PrintWriter
  114. def newRandomAccess(mode: RandomAccessMode = File.RandomAccessMode.read): RandomAccessFile
  115. def newScanner(splitter: StringSplitter = StringSplitter.default)(implicit charset: Charset = defaultCharset): Scanner
  116. def newWatchService: WatchService
  117. def newZipInputStream(implicit charset: Charset = defaultCharset): ZipInputStream
  118. def newZipOutputStream(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): ZipOutputStream
  119. def nonEmpty(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean

    returns

    for directories, true if it has no children, false otherwise for files, true if it is a 0-byte file, false otherwise else true if it exists, false otherwise

  120. def notExists(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  121. final def notify(): Unit
    Definition Classes
    AnyRef
  122. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  123. def outputStream(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[OutputStream]
  124. def overwrite(text: String)(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): File.this.type
  125. def owner(implicit linkOptions: LinkOptions = File.LinkOptions.default): UserPrincipal
  126. def ownerName(implicit linkOptions: LinkOptions = File.LinkOptions.default): String
  127. def parent: File

    Return parent of this file NOTE: This API returns null if this file is the root; please use parentOption if you expect to handle roots

    Return parent of this file NOTE: This API returns null if this file is the root; please use parentOption if you expect to handle roots

    See also

    parentOption

  128. def parentOption: Option[File]

    returns

    Some(parent) of this file or None if this is the root and thus has no parent

  129. val path: Path
  130. def pathAsString: String
  131. def pathMatcher(syntax: PathMatcherSyntax, includePath: Boolean)(pattern: String): PathMatcher
  132. def permissions(implicit linkOptions: LinkOptions = File.LinkOptions.default): Set[PosixFilePermission]
  133. def permissionsAsString(implicit linkOptions: LinkOptions = File.LinkOptions.default): String
  134. def posixAttributes(implicit linkOptions: LinkOptions = File.LinkOptions.default): PosixFileAttributes
  135. def printLines(lines: Iterator[Any])(implicit openOptions: OpenOptions = File.OpenOptions.append): File.this.type
  136. def printWriter(autoFlush: Boolean = false)(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[PrintWriter]
  137. def randomAccess(mode: RandomAccessMode = File.RandomAccessMode.read): ManagedResource[RandomAccessFile]
  138. def readDeserialized[A](implicit openOptions: OpenOptions = File.OpenOptions.default): A

    Deserialize a object using Java's default serialization from this file

  139. def register(service: WatchService, events: Events = File.Events.all): File.this.type
  140. def relativize(destination: File): Path
  141. def removePermission(permission: PosixFilePermission)(implicit linkOptions: LinkOptions = File.LinkOptions.default): File.this.type
  142. def renameTo(newName: String): File
  143. def root: File
  144. def scanner(splitter: StringSplitter = StringSplitter.default)(implicit charset: Charset = defaultCharset): ManagedResource[Scanner]
  145. def setGroup(group: String): File.this.type
  146. def setOwner(owner: String): File.this.type
  147. def setPermissions(permissions: Set[PosixFilePermission]): File.this.type
  148. def sha1: String
  149. def sha256: String
  150. def sha512: String
  151. def sibling(name: String): File
  152. def siblings: Files
  153. def size(implicit visitOptions: VisitOptions = File.VisitOptions.default): Long

    returns

    file size (for directories, return size of the directory) in bytes

  154. def streamedUnzip(destinationDirectory: File = File.newTemporaryDirectory(name))(implicit charset: Charset = defaultCharset): destinationDirectory.type

    Streamed unzipping is slightly slower but supports larger files and more encodings

    Streamed unzipping is slightly slower but supports larger files and more encodings

    destinationDirectory

    destination folder; Creates this if it does not exist

    returns

    The destination where contents are unzipped

    See also

    https://github.com/pathikrit/better-files/issues/152

  155. def symbolicLink: Option[File]

    returns

    Some(target) if this is a symbolic link (to target) else None

  156. def symbolicLinkTo(destination: File)(implicit attributes: Attributes = File.Attributes.default): destination.type
  157. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  158. def testPermission(permission: PosixFilePermission)(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean

    test if file has this permission

  159. def toJava: java.io.File
  160. def toString(): String
    Definition Classes
    File → AnyRef → Any
  161. def toTemporary: ManagedResource[File]

    Java's temporary files/directories are not cleaned up by default.

    Java's temporary files/directories are not cleaned up by default. If we explicitly call .deleteOnExit(), it gets added to shutdown handler which is not ideal for long running systems with millions of temporary files as: a) it would slowdown shutdown and b) occupy unnecessary disk-space during app lifetime

    This util auto-deletes the resource when done using the ManagedResource facility

    Example usage: File.temporaryDirectory().foreach(tempDir => doSomething(tempDir)

  162. def tokens(splitter: StringSplitter = StringSplitter.default)(implicit charset: Charset = defaultCharset): Iterator[String]
  163. def touch(time: Instant = Instant.now())(implicit attributes: Attributes = File.Attributes.default, linkOptions: LinkOptions = File.LinkOptions.default): File.this.type

    Similar to the UNIX command touch - create this file if it does not exist and set its last modification time

  164. def unGzipTo(destinationDirectory: File = File.newTemporaryDirectory())(implicit openOptions: OpenOptions = File.OpenOptions.default): destinationDirectory.type
  165. def unzip(zipFilter: (ZipEntry) ⇒ Boolean = _ => true)(implicit charset: Charset = defaultCharset): File

    unzip to a temporary zip file

    unzip to a temporary zip file

    returns

    the zip file

  166. def unzipTo(destination: File, zipFilter: (ZipEntry) ⇒ Boolean = _ => true)(implicit charset: Charset = defaultCharset): destination.type

    Unzips this zip file

    Unzips this zip file

    destination

    destination folder; Creates this if it does not exist

    zipFilter

    An optional param to reject or accept unzipping a file

    returns

    The destination where contents are unzipped

  167. def update(attribute: String, value: Any)(implicit linkOptions: LinkOptions = File.LinkOptions.default): File.this.type

    Set a file attribute e.g.

    Set a file attribute e.g. file("dos:system") = true

  168. def uri: URI
  169. def url: URL
  170. def usingLock[U](mode: RandomAccessMode)(f: (FileChannel) ⇒ U): U
  171. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  172. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  173. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  174. def walk(maxDepth: Int = Int.MaxValue)(implicit visitOptions: VisitOptions = File.VisitOptions.default): Files

    Walk the directory tree recursively upto maxDepth

    Walk the directory tree recursively upto maxDepth

    returns

    List of children in BFS maxDepth level deep (includes self since self is at depth = 0)

  175. def watchService: ManagedResource[WatchService]
  176. def write(text: String)(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): File.this.type
  177. def writeByteArray(bytes: Array[Byte])(implicit openOptions: OpenOptions = File.OpenOptions.default): File.this.type

    Write byte array to file.

    Write byte array to file. For large contents consider using the writeBytes

    returns

    this

  178. def writeBytes(bytes: Iterator[Byte])(implicit openOptions: OpenOptions = File.OpenOptions.default): File.this.type
  179. def writeSerialized(obj: Serializable)(implicit openOptions: OpenOptions = File.OpenOptions.default): File.this.type

    Serialize a object using Java's serializer into this file

  180. def writeText(text: String)(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): File.this.type
  181. def zip(compressionLevel: Int = Deflater.DEFAULT_COMPRESSION)(implicit charset: Charset = defaultCharset): File

    zip to a temp directory

    zip to a temp directory

    returns

    the target directory

  182. def zipIn(files: Files, compressionLevel: Int = Deflater.DEFAULT_COMPRESSION)(charset: Charset = defaultCharset): File.this.type

    Adds these files into this zip file Example usage: File("test.zip").zipIn(Seq(file"hello.txt", file"hello2.txt"))

    Adds these files into this zip file Example usage: File("test.zip").zipIn(Seq(file"hello.txt", file"hello2.txt"))

    returns

    this

  183. def zipInputStream(implicit charset: Charset = defaultCharset): ManagedResource[ZipInputStream]
  184. def zipOutputStream(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): ManagedResource[ZipOutputStream]
  185. def zipTo(destination: File, compressionLevel: Int = Deflater.DEFAULT_COMPRESSION)(implicit charset: Charset = defaultCharset): destination.type

    Zips this file (or directory)

    Zips this file (or directory)

    destination

    The destination file; Creates this if it does not exists

    returns

    The destination zip file

Inherited from AnyRef

Inherited from Any

Ungrouped