# fileOpen (Compartilhado)

> Abre um arquivo que já existe, com a posição no começo.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Compartilhado
- **Categoria**: Arquivos
- **URL**: https://wiki.mymp.gg/pt/fileOpen

## Sintaxe

```lua
file|false fileOpen(string path [, bool readOnly = false])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `path` | `string` | O caminho. Um caminho dentro do recurso que chama, ou `@recurso/caminho` para um arquivo de outro recurso. Um arquivo de outro recurso só abre com `readOnly`. |
| `readOnly` | `bool` | Se `true`, o arquivo abre só para leitura. *(padrão: `false`)* |

## Retorno

O arquivo aberto, ou `false` se ele não existe, é uma pasta ou não pôde ser aberto.

Um caminho não pode ter `..`, `\`, `:` nem começar com `/`. Os arquivos de outro recurso só podem ser lidos; um caminho inválido gera um aviso e a função devolve `false`. O arquivo é fechado quando o recurso para.

## Exemplo

```lua
local file = fileOpen("@maps/spawns.json", true)
if file then
    local spawns = fromJSON(fileRead(file, fileGetSize(file)))
    fileClose(file)
end
```

## Veja também

- [fileCreate (Compartilhado)](https://wiki.mymp.gg/pt/fileCreate.md): Cria um arquivo vazio e o abre para leitura e escrita. Um arquivo que já existe é apagado e recriado; as pastas que faltam são criadas.
- [fileRead (Compartilhado)](https://wiki.mymp.gg/pt/fileRead.md): Lê bytes de um arquivo a partir da posição atual e avança a posição.
- [fileClose (Compartilhado)](https://wiki.mymp.gg/pt/fileClose.md): Fecha um arquivo, gravando o que falta, e destrói o elemento dele.
