IMoBroFileManager
The IMoBroFileManager provides a simple way for plugins to read and write files. All files are stored in the plugin's
own data directory and remain available between plugin starts.
The data directory is part of the plugin's installation. All files are deleted when the plugin is updated to a new version, reinstalled or uninstalled.
Storage Location
| Environment | Directory |
|---|---|
| Installed in MoBro | The files folder inside the plugin's installation directory. |
| Running locally | ./data, relative to the working directory. Can be changed using MoBroPluginBuilder.WithStorageDirectory. |
File names are resolved relative to this directory. A PluginException is thrown if a file name is invalid or points
outside of it (e.g. ..\other.txt).
Example
public class Plugin : IMoBroPlugin
{
private readonly IMoBroFileManager _files;
public Plugin(IMoBroFileManager files)
{
_files = files;
}
public void Init()
{
if (!_files.Exists("cache.json"))
{
_files.WriteText("cache.json", "{}");
}
var cache = _files.ReadText("cache.json");
}
}
Functions
Exists(string): bool
Checks whether the specified file exists.
Parameters
| Name | Type | Description |
|---|---|---|
| fileName | string | The name of the file. |
Returns
true if the file exists; otherwise false.
WriteText(string, string)
Writes the text content to the specified file. An existing file is overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
| fileName | string | The name of the file. |
| content | string | The text content to be written. |
WriteBytes(string, byte[])
Writes the byte array to the specified file. An existing file is overwritten.
Parameters
| Name | Type | Description |
|---|---|---|
| fileName | string | The name of the file. |
| content | byte[] | The byte array content to be written. |
ReadText(string): string
Reads the text content of the specified file.
Parameters
| Name | Type | Description |
|---|---|---|
| fileName | string | The name of the file. |
Returns
The text content of the file.
ReadBytes(string): byte[]
Reads the content of the specified file as a byte array.
Parameters
| Name | Type | Description |
|---|---|---|
| fileName | string | The name of the file. |
Returns
The content of the file.