##### Views

- Page
- Discussion
- View source
- History

# love.filesystem

Provides an interface to the user's filesystem.

This module provides access to files in two places, and two places only:

- The root folder of the .love archive (or source directory)
- The root folder of the game's save directory.

Each game is granted a single directory on the system where files can be saved through love.filesystem. This is the only directory where love.filesystem can write files. These directories will typically be found in something like:

- Windows XP: `C:\Documents and Settings\user\Application Data\LOVE\` or `%appdata%\LOVE\`
- Windows Vista and 7: `C:\Users\user\AppData\Roaming\LOVE` or `%appdata%\LOVE\`
- Linux: `$XDG_DATA_HOME/love/` or `~/.local/share/love/`
- Mac: `/Users/user/Library/Application Support/LOVE/`

Files that are opened for write or append will always be created in the save directory. The same goes for other operations that involve writing to the filesystem, like mkdir.

Files that are opened for read will be looked for in the save directory, and then in the .love archive (in that order). So if a file with a certain filename (and path) exist in both the .love archive and the save folder, the one in the save directory takes precedence.

Note: All paths are relative to the .love archive and save directory. (except for the get*Directory() calls)

It is recommended to set your game's identity first in your `conf.lua`. You can set it with `love.filesystem.setIdentity()` as well.

## Types

File | Represents a file on the filesystem. |  |
FileData | Data representing the contents of a file. |  |

## Functions

love.filesystem.append | Append data to an existing file. | 0.9.0 |
love.filesystem.createDirectory | Creates a directory. | 0.9.0 |
love.filesystem.enumerate | Returns all the files and subdirectories in the directory. |  | 0.9.0
love.filesystem.exists | Check whether a file or directory exists. |  |
love.filesystem.getAppdataDirectory | Returns the application data directory (could be the same as getUserDirectory) |  |
love.filesystem.getDirectoryItems | Returns all the files and subdirectories in the directory. | 0.9.0 |
love.filesystem.getIdentity | Gets the write directory name for your game. | 0.9.0 |
love.filesystem.getLastModified | Gets the last modification time of a file. | 0.7.1 |
love.filesystem.getSaveDirectory | Gets the full path to the designated save directory. |  |
love.filesystem.getSize | Gets the size in bytes of a file. | 0.9.0 |
love.filesystem.getUserDirectory | Returns the path of the user's directory |  |
love.filesystem.getWorkingDirectory | Gets the current working directory. |  |
love.filesystem.init | Initializes love.filesystem, will be called internally, so should not be used explictly. |  |
love.filesystem.isDirectory | Check whether something is a directory. |  |
love.filesystem.isFile | Check whether something is a file. |  |
love.filesystem.isFused | Gets whether the game is in fused mode or not. | 0.9.0 |
love.filesystem.lines | Iterate over the lines in a file. |  |
love.filesystem.load | Load a lua file (but not run it) |  |
love.filesystem.mkdir | Creates a directory. |  | 0.9.0
love.filesystem.mount | Mounts a zip file or folder in the game's save directory for reading. | 0.9.0 |
love.filesystem.newFile | Creates a new File object. |  |
love.filesystem.newFileData | Creates a new FileData object. | 0.7.0 |
love.filesystem.read | Read the contents of a file |  |
love.filesystem.remove | Removes a file (or directory). |  |
love.filesystem.setIdentity | Sets the write directory for your game. |  |
love.filesystem.setSource | Sets the source of the game, where the code is present. |  |
love.filesystem.unmount | Unmounts a zip file or folder previously mounted with love.filesystem.mount. | 0.9.0 |
love.filesystem.write | Write data to a file. |  |

## Enums

FileDecoder | How to decode a given FileData. | 0.7.0 |
FileMode | The different modes you can open a File in. |  |

## See Also

- love

## Other Languages

Dansk – Deutsch – English – Español – Français – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Polski – Português – Română – Slovenský – Suomi – Svenska – Türkçe – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – ไทย – 日本語 – 正體中文 – 简体中文 – Tiếng Việt – 한국어
More info

Retrieved from "https://www.love2d.org/wiki/love.filesystem"
Category: Modules

##### Personal tools

- Log in

##### Search

##### Toolbox

- What links here
- Related changes
- Special pages
- Printable version
- Permanent link
- Browse properties