FSharpAux


FileIO

Namespace: FSharpAux.IO

A module to facilitate interaction with files and directories The code is take from Fsharpx project and slightly modified Special thanks to the original authors under (https://github.com/fsprojects/fsharpx)

Functions and values

Function or valueDescription
allFilesExist(files)
Signature: files:seq<string> -> bool

Checks if all given files exists

append s builder
Signature: s:string -> builder:StringBuilder -> StringBuilder

Appends a text

appendFileNamesIfNotNull(...)
Signature: fileNames:seq<string> -> builder:StringBuilder -> StringBuilder

Appends all notnull fileNames

appendIfFalse(p)
Signature: p:bool -> string -> StringBuilder -> StringBuilder

Appends a text if the predicate is false

appendIfNotNull value s
Signature: value:'?9411 -> s:string -> StringBuilder -> StringBuilder
Type parameters: '?9411

Appends a text if the value is not null

appendIfTrue p s builder
Signature: p:bool -> s:string -> builder:StringBuilder -> StringBuilder

Appends a text if the predicate is true

appendStringIfValueIsNotNull(value)
Signature: value:'?9413 -> string -> StringBuilder -> StringBuilder
Type parameters: '?9413

Appends a text if the value is not null

appendStringIfValueIsNotNullOrEmpty(...)
Signature: value:string -> string -> StringBuilder -> StringBuilder

Appends a text if the value is not null or empty

checkFileExists(fileName)
Signature: fileName:string -> unit

Checks if the file exists on disk.

cleanFileName(filename)
Signature: filename:string -> string

Removes all characters not allowed in a filename

combinePaths path1 path2
Signature: path1:string -> path2:string -> string

Combines two path strings

convertTextToWindowsLineBreaks(text)
Signature: text:string -> string

Converts the given text from linux or mac linebreaks to windows line breaks

CreateDir(path)
Signature: path:string -> unit

Creates a directory if it does not exist.

CreateFile(fileName)
Signature: fileName:string -> unit

Creates a file if it does not exist.

currentDirectory
Signature: string

Gets the current directory

DeleteFile(fileName)
Signature: fileName:string -> unit

Deletes a file if it exists.

DeleteFiles(files)
Signature: files:seq<string> -> unit

Deletes the given files.

directoryExists(dir)
Signature: dir:string -> bool

Checks if the directory exists on disk.

directoryInfo(path)
Signature: path:string -> DirectoryInfo

Creates a DirectoryInfo for the given path

directorySeparator
Signature: string

The directory separator string. On most systems / or \

ensureDirectory(dir)
Signature: dir:string -> unit

Checks if the given directory exists. If not then this functions creates the directory.

ensureDirExists(dir)
Signature: dir:DirectoryInfo -> unit

Ensure that directory chain exists. Create necessary directories if necessary.

FileEnumerator(filePath)
Signature: filePath:string -> seq<string>

This function builds an IEnumerable object that enumerates lines of the given file on-demand

fileExists(fileName)
Signature: fileName:string -> bool

Checks if the file exists on disk.

fileInfo(path)
Signature: path:string -> FileInfo

Creates a FileInfo for the given path

filesInDir(dir)
Signature: dir:DirectoryInfo -> FileInfo []

Gets all files in the directory

fileSystemInfo(path)
Signature: path:string -> FileSystemInfo

Creates a FileInfo or a DirectoryInfo for the given path

getFullName(fileName)
Signature: fileName:string -> string

Converts a file to it's full file system name

isDirectory(path)
Signature: path:string -> bool

Detects whether the given path is a directory.

isFile(path)
Signature: path:string -> bool

Detects whether the given path is a file.

isInFolder dir fileInfo
Signature: dir:DirectoryInfo -> fileInfo:FileInfo -> bool

Checks if the file is in a subfolder of the dir.

isSubfolderOf dir2 dir1
Signature: dir2:DirectoryInfo -> dir1:DirectoryInfo -> bool

Checks if dir1 is a subfolder of dir2. If dir1 equals dir2 the function returns also true.

isValidPath(path)
Signature: path:string -> bool

Detects whether the given path does not contains invalid characters.

LinuxLineBreaks
Signature: string
MacLineBreaks
Signature: string
normalizeFileName(fileName)
Signature: fileName:string -> string

Normalizes a filename.

readFile(file)
Signature: file:string -> seq<string>

Reads a file line by line Alternatively use FileEnumerator

readFileAsString(file)
Signature: file:string -> string

Reads a file as one text

readFileGZip(filePath)
Signature: filePath:string -> seq<string>

Reads a gZip file line by line without creating a tempory file Alternatively use FileEnumerator

replaceFile fileName lines
Signature: fileName:string -> lines:seq<string> -> unit

Replaces the file with the given string

setWorkingDirectory(path)
Signature: path:string -> unit

Set the current working directory

subDirectories(dir)
Signature: dir:DirectoryInfo -> DirectoryInfo []

Gets all subdirectories

WindowsLineBreaks
Signature: string
writeStringToFile append file text
Signature: append:bool -> file:string -> text:string -> unit

Writes a single string to a file

writeToFile append fileName lines
Signature: append:bool -> fileName:string -> lines:seq<string> -> unit

Writes a file line by line

Fork me on GitHub