> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Dateien verwalten

> Dateien innerhalb deiner Anwendung über das FilesModule durchsuchen, lesen, erstellen, verschieben und löschen.

Jede Methode auf dieser Seite liegt auf `app.files`:

```typescript theme={null}
const app = await api.applications.fetch("abc123def456abc123def456");
app.files; // FilesModule
```

## Dateien in einem Verzeichnis auflisten

`app.files.list(path?)` gibt die Einträge eines Verzeichnisses zurück. Der Pfad ist standardmäßig `"/"`.

```typescript theme={null}
const entries = await app.files.list("/");
console.log(entries);
// [
//   { type: "file",      name: "index.js", size: 123, lastModified: 1717084800000 },
//   { type: "directory", name: "src",      size: 0,   lastModified: 1717084800000 },
// ]
```

## Eine Datei lesen

`app.files.read(path)` gibt einen Node.js-`Buffer` mit dem Dateiinhalt zurück oder `undefined`, wenn die Datei nicht vorhanden ist.

```typescript theme={null}
const buffer = await app.files.read("/index.js");
console.log(buffer?.toString("utf8"));
```

## Eine Datei erstellen oder überschreiben

`app.files.create(file, fileName, path?)` schreibt eine Datei nach `path/fileName`. Der Pfad ist standardmäßig `"/"`.

| Parameter  | Typ                | Beschreibung                                                 |
| ---------- | ------------------ | ------------------------------------------------------------ |
| `file`     | `string \| Buffer` | Ein lokaler Dateipfad oder der rohe `Buffer`-Inhalt          |
| `fileName` | `string`           | Dateiname mit Erweiterung (z. B. `"version.ts"`)             |
| `path`     | `string`           | Absoluter Verzeichnispfad innerhalb der App (Standard `"/"`) |

<Tabs>
  <Tab title="Aus einem Buffer">
    ```typescript theme={null}
    const content = Buffer.from("export default 1\n");
    await app.files.create(content, "version.ts", "/src");
    ```
  </Tab>

  <Tab title="Aus einem lokalen Pfad">
    ```typescript theme={null}
    import { join } from "node:path";

    const localPath = join(__dirname, "version.ts");
    await app.files.create(localPath, "version.ts", "/src");
    ```
  </Tab>
</Tabs>

<Warning>
  Die Signatur hat sich in v4 geändert. Frühere Versionen akzeptierten `create(content, fullPath)` — v4 erfordert `create(content, fileName, path)`.
</Warning>

## Eine Datei verschieben oder umbenennen

`app.files.move(path, newPath)` verschiebt oder benennt eine Datei oder ein Verzeichnis um.

```typescript theme={null}
await app.files.move("/version.ts", "/src/version.ts");
```

## Eine Datei oder ein Verzeichnis löschen

`app.files.delete(path)` löscht eine Datei oder ein gesamtes Verzeichnis.

```typescript theme={null}
await app.files.delete("/src/version.ts");
```
