Structr
Search…
FileHelper
FileHelper class provides synchronous and asynchronous methods for the write, read and delete a single file.

SaveFile()

Synchronously saves a byte array to a file by an absolute path.
FileHelper.SaveFile("absolute_file_path", bytes);
By default, if the file exists, the FileHelper creates a new file with a unique name and returns that name.
string existingFilePath = "D:\\readme.txt";
string newFilePath = FileHelper.SaveFile(existingFilePath, bytes); // Returns "D:\\readme_1.txt".
All parameters:
Param name
Param type
Description
path
string
The absolute file path to save to.
bytes
byte[]
The bytes to save to the file.
createDirIfNotExists
bool
The flag indicates to create destination directory if not exists. Default value is true.
useSequentialFileNameIfExists
bool
The flag indicates that target file name should be changed by adding sequential postfix if file with specfied name already exists. Default value is false.

SaveFileAsync()

Asynchronously saves a byte array to a file by an absolute path.
await FileHelper.SaveFileAsync("absolute_file_path", bytes);
By default, if the file exists, the FileHelper creates a new file with a unique name and returns that name.
string existingFilePath = "D:\\readme.txt";
string newFilePath = await FileHelper.SaveFileAsync(existingFilePath, bytes); // Returns "D:\\readme_1.txt".
All parameters:
Param name
Param type
Description
path
string
The absolute file path to save to.
bytes
byte[]
The bytes to save to the file.
createDirIfNotExists
bool
The flag indicates to create destination directory if not exists. Default value is true.
useSequentialFileNameIfExists
bool
The flag indicates that target file name should be changed by adding sequential postfix if file with specfied name already exists. Default value is false.
cancellationToken
CancellationToken
The token to monitor for cancellation requests. Default value is None.

ReadFile()

Synchronously reads a file from an absolute path to a byte array.
byte[] bytes = FileHelper.ReadFile(filePath);
All parameters:
Param name
Param type
Description
path
string
The absolute file path to read to.
throwIfNotExists
bool
The flag indicates to throw exception if file not exists. Default value is true.
You can also synchronously reads a file from a stream to a byte array.
byte[] bytes = FileHelper.ReadFile(stream);
All parameters:
Param name
Param type
Description
stream
Stream
The Stream (MemoryStream, FileStream, etc.).
initialLength
long
Length of returning byte array. Default value is 0.

ReadFileAsync()

Asynchronously reads a file from an absolute path to a byte array.
byte[] bytes = await FileHelper.ReadFileAsync(filePath);
All parameters:
Param name
Param type
Description
path
string
The absolute file path to read to.
throwIfNotExists
bool
The flag indicates to throw exception if file not exists. Default value is true.
cancellationToken
CancellationToken
The token to monitor for cancellation requests. Default value is None.
You can also asynchronously reads a file from a stream to a byte array.
byte[] bytes = await FileHelper.ReadFileAsync(stream);
All parameters:
Param name
Param type
Description
stream
Stream
The Stream (MemoryStream, FileStream, etc.).
initialLength
long
Length of returning byte array. Default value is 0.
cancellationToken
CancellationToken
The token to monitor for cancellation requests. Default value is None.

DeleteFile()

Deletes a file if it exists.
FileHelper.DeleteFile(filePath);
All parameters:
Param name
Param type
Description
path
string
The absolute file path to delete to.

GetFilePathWithSequentialFileName()

Returns an absolute path with variable destination file name with sequential postfix e.g. ("file_1.txt", "file_2.txt").
string existingFilePath = "D:\\readme.txt";
string newFilePath = FileHelper.GetFilePathWithSequentialFileName(existingFilePath); // Returns "D:\\readme_1.txt".
All parameters:
Param name
Param type
Description
path
string
The absolute file path.
Copy link
Edit on GitHub
On this page
SaveFile()
SaveFileAsync()
ReadFile()
ReadFileAsync()
DeleteFile()
GetFilePathWithSequentialFileName()