FileSystem

case class FileSystem(logger: Logger) extends FilePathReader

Interface for the FileSystem where effects are denoted with the "Operation" type

trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

copy the content of a directory to another.

copy the content of a directory to another.

Value parameters:
dest

destination directory path

src

path of the directory to copy

def copyFile(dest: DirectoryPath)(filePath: FilePath): Operation[Unit]

copy a file to a destination directory

copy a file to a destination directory

Value parameters:
dest

destination directory path

filePath

path of the file to copy

def createFile(filePath: FilePath): Operation[Boolean]

create a new file

create a new file

def delete(file: FilePath): Operation[Unit]

delete files or directories

delete files or directories

def delete(dir: DirectoryPath): Operation[Unit]

delete a directory

delete a directory

def deleteFile(filePath: FilePath): Operation[Boolean]

delete a file

delete a file

def mkdirs(path: DirectoryPath): Operation[Unit]

create a directory and its parent directories

create a directory and its parent directories

def mkdirs(path: FilePath): Operation[Unit]

create a the directory containing a file and its parent directories

create a the directory containing a file and its parent directories

def replaceInFile(filePath: FilePath, source: String, target: String): Operation[Unit]

replace a string in a file

replace a string in a file

def unjar(jarUrl: URL, dest: DirectoryPath, regexFilter: String): Operation[Unit]

Unjar the jar (or zip file) specified by "path" to the "dest" directory. Filters files which shouldn't be extracted with a regular expression.

Unjar the jar (or zip file) specified by "path" to the "dest" directory. Filters files which shouldn't be extracted with a regular expression.

Value parameters:
dest

destination directory path

jarUrl

path of the jar file

regexFilter

regular expression filtering files which shouldn't be extracted; the expression must capture the path of an entry as group 1 which will then be used relative to dirPath as target path for that entry

def updateFileContent(filePath: FilePath)(update: String => String): Operation[Unit]

modify the content of a file

modify the content of a file

def withEphemeralFile(path: FilePath)(operation: Operation[Unit]): Operation[Unit]

execute an operation with a File, then delete it

execute an operation with a File, then delete it

def writeFile(filePath: FilePath, content: String): Operation[Unit]

write a string to a file as UTF-8

write a string to a file as UTF-8

Inherited methods

def doesNotExist(directoryPath: DirectoryPath): Operation[Boolean]
Returns:

true if the directory doesn't exist

Inherited from:
FilePathReader
def doesNotExist(filePath: FilePath): Operation[Boolean]
Returns:

true if the file doesn't exist

Inherited from:
FilePathReader
def exists(directoryPath: DirectoryPath): Operation[Boolean]
Returns:

true if the directory exists

Inherited from:
FilePathReader
def exists(filePath: FilePath): Operation[Boolean]
Returns:

true if the file exists

Inherited from:
FilePathReader
def filePaths(dir: DirectoryPath, glob: String, verbose: Boolean): Operation[List[FilePath]]
Returns:

the list of file paths accessible from dir

Inherited from:
FilePathReader
def filterWithPattern(pattern: String): FilePath => Boolean

filter files according to a regex pattern

filter files according to a regex pattern

Inherited from:
FilePathReader
def globToPattern(glob: String): String
Returns:

the regular expression equivalent to a glob pattern (see the specs for Fragments)

Inherited from:
FilePathReader
Returns:

the files directly accessible from a directory

Inherited from:
FilePathReader
def listDirectFilePaths(directory: DirectoryPath): Operation[IndexedSeq[FilePath]]
Returns:

the files directly accessible from a directory

Inherited from:
FilePathReader
Returns:

the files accessible recursively from a directory

Inherited from:
FilePathReader
def md5(filePath: FilePath): Operation[String]
Returns:

the MD5 hash of a file

Inherited from:
FilePathReader
def mustBeADirectory(file: File): Operation[Unit]

succeeds if the file is a directory

succeeds if the file is a directory

Inherited from:
FilePathReader
def mustExist(file: File): Operation[Unit]

succeeds if the file exists

succeeds if the file exists

Inherited from:
FilePathReader
def mustNotBeADirectory(file: File): Operation[Unit]

succeeds if the file is not a directory

succeeds if the file is not a directory

Inherited from:
FilePathReader
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product
def readBytes(filePath: FilePath): Operation[Array[Byte]]

read the content of a file as an Array of Bytes

read the content of a file as an Array of Bytes

Inherited from:
FilePathReader
def readFile(path: FilePath): Operation[String]
Returns:

the content of a file encoded as UTF8

Inherited from:
FilePathReader
def readFileWithCodec(path: FilePath, codec: Codec): Operation[String]
Returns:

the content of a file with a specific codec

Inherited from:
FilePathReader
def readLines(filePath: FilePath): Operation[IndexedSeq[String]]
Returns:

the content of a file as UTF-8 lines

Inherited from:
FilePathReader
def readLinesWithCodec(filePath: FilePath, codec: Codec): Operation[IndexedSeq[String]]
Returns:

the content of a file with a specific codec

Inherited from:
FilePathReader