# Storage Files and Directories

{% hint style="warning" %}
**This is the manual for older MicroStream versions (Version < 5.0).**

**The new documentation (Version >= 5.0) is located at:**

[https://docs.microstream.one/](https://docs.microstream.one/manual)
{% endhint %}

Using a Storage File Provider (`one.microstream.storage.types.StorageFileProvider`) allows to specify the location and naming rules for all storage related files.

available properties are:

* **BaseDirectory** \
  The Microstream storages location base directory. Contains channel directories and type dictionary file.<br>
* **DeletionDirectory**\
  If configured, the storage will not delete files. Instead of deleting a file it will be moved to this directory.<br>
* **TruncationDirectory**\
  If configured, files that will get truncated are copied into this directory. <br>
* **ChannelDirectoryPrefix**\
  Channel directory prefix string<br>
* **StorageFilePrefix** \
  Storage file prefix string<br>
* **StorageFileSuffix**\
  storage file extension<br>
* **TransactionsFilePrefix**\
  transactions file prefix<br>
* **TransactionsFileSuffix**\
  transaction file extension<br>
* **TypeDictionaryFileName**\
  filename of the type dictionary

```java
StorageFileProvider fileProvider = Storage.FileProviderBuilder()
	.setBaseDirectory         (WORKINGDIR.getPath())
	.setDeletionDirectory     (DELETIONDIR.getPath())
	.setTruncationDirectory   (TRUNKATIONDIR.getPath())
	.setChannelDirectoryPrefix("canal_")
	.setStorageFilePrefix     ("canal_")
	.setStorageFileSuffix     (".bin")
	.setTransactionsFilePrefix("events_")
	.setTransactionsFileSuffix(".bin")
	.setTypeDictionaryFileName("typeDictionary.txt")
	.createFileProvider();
```
