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 createChild(child: String, asDirectory: Boolean = false, createParents: Boolean = false)(implicit attributes: Attributes = File.Attributes.default, linkOptions: LinkOptions = File.LinkOptions.default): File
  32. def createDirectories()(implicit attributes: Attributes = File.Attributes.default): File.this.type
  33. def createDirectory()(implicit attributes: Attributes = File.Attributes.default): File.this.type
  34. 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)

  35. 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

  36. def deleteOnExit(): File.this.type
  37. def digest(algorithm: MessageDigest): Array[Byte]
  38. def digestInputStream(digest: MessageDigest)(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[DigestInputStream]
  39. def dosAttributes(implicit linkOptions: LinkOptions = File.LinkOptions.default): DosFileAttributes
  40. def entries: Files
  41. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. def equals(obj: Any): Boolean
    Definition Classes
    File → AnyRef → Any
  43. def exists(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  44. 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

  45. def extension: Option[String]

    returns

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

  46. def fileChannel(implicit openOptions: OpenOptions = File.OpenOptions.default, attributes: Attributes = File.Attributes.default): ManagedResource[FileChannel]
  47. def fileReader: ManagedResource[FileReader]
  48. implicit val fileSystem: FileSystem
  49. def fileWriter(append: Boolean = false): ManagedResource[FileWriter]
  50. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  51. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  52. 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 *

  53. 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 *

  54. def group(implicit linkOptions: LinkOptions = File.LinkOptions.default): GroupPrincipal
  55. def groupName(implicit linkOptions: LinkOptions = File.LinkOptions.default): String
  56. 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

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

    returns

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

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

    returns

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

  62. def isExecutable: Boolean
  63. def isGroupExecutable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  64. def isGroupReadable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  65. def isGroupWritable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  66. def isHidden: Boolean
  67. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  68. def isLocked(mode: RandomAccessMode, position: Long = 0L, size: Long = Long.MaxValue, isShared: Boolean = false): Boolean
  69. def isOtherExecutable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  70. def isOtherReadable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  71. def isOtherWritable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  72. def isOwnerExecutable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  73. def isOwnerReadable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  74. def isOwnerWritable(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  75. def isParentOf(child: File): Boolean
  76. def isReadLocked(position: Long = 0L, size: Long = Long.MaxValue, isShared: Boolean = false): Boolean
  77. 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

  78. 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

  79. def isSameContentAs(that: File): Boolean

    returns

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

  80. def isSameFileAs(that: File): Boolean
  81. def isSamePathAs(that: File): Boolean
  82. def isSiblingOf(sibling: File): Boolean
  83. 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

  84. def isSymbolicLink: Boolean
  85. def isWriteLocked(position: Long = 0L, size: Long = Long.MaxValue, isShared: Boolean = false): Boolean
  86. def isWriteable: Boolean
  87. def lastModifiedTime(implicit linkOptions: LinkOptions = File.LinkOptions.default): Instant
  88. 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()

  89. 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

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

    returns

    destination

  97. 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

  98. 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

  99. 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"

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

  118. def notExists(implicit linkOptions: LinkOptions = File.LinkOptions.default): Boolean
  119. final def notify(): Unit
    Definition Classes
    AnyRef
  120. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  121. def outputStream(implicit openOptions: OpenOptions = File.OpenOptions.default): ManagedResource[OutputStream]
  122. def overwrite(text: String)(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): File.this.type
  123. def owner(implicit linkOptions: LinkOptions = File.LinkOptions.default): UserPrincipal
  124. def ownerName(implicit linkOptions: LinkOptions = File.LinkOptions.default): String
  125. 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

  126. def parentOption: Option[File]

    returns

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

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

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

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

    returns

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

  152. 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

  153. def symbolicLink: Option[File]

    returns

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

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

    test if file has this permission

  157. def toJava: java.io.File
  158. def toString(): String
    Definition Classes
    File → AnyRef → Any
  159. 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)

  160. def tokens(implicit config: Config = Scanner.Config.default, charset: Charset = defaultCharset): Iterator[String]
  161. 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

  162. def unGzipTo(destinationDirectory: File = File.newTemporaryDirectory())(implicit openOptions: OpenOptions = File.OpenOptions.default): destinationDirectory.type
  163. 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

  164. 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

  165. 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

  166. def uri: URI
  167. def url: URL
  168. def usingLock[U](mode: RandomAccessMode)(f: (FileChannel) ⇒ U): U
  169. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  170. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  171. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  172. 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)

  173. def watchService: ManagedResource[WatchService]
  174. def write(text: String)(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): File.this.type
  175. 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

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

    Serialize a object using Java's serializer into this file

  178. def writeText(text: String)(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): File.this.type
  179. 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

  180. 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

  181. def zipInputStream(implicit charset: Charset = defaultCharset): ManagedResource[ZipInputStream]
  182. def zipOutputStream(implicit openOptions: OpenOptions = File.OpenOptions.default, charset: Charset = defaultCharset): ManagedResource[ZipOutputStream]
  183. 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