Eine Datei (englisch file) ist ein Bestand meist inhaltlich zusammengehöriger Daten, der auf einem Datenträger oder Speichermedium gespeichert ist. Diese Daten können somit über die Laufzeit eines Programms hinaus existieren und werden als persistent bezeichnet – sie sind bei Programmende nicht verloren.
In der elektronischen Datenverarbeitung ist der Inhalt jeder Datei zunächst eine eindimensionale Aneinanderreihung von Bits, die normalerweise in Byte-Blöcken zusammengefasst interpretiert werden. Für die meisten Dateisysteme ist 1 Byte die kleinste Verwaltungseinheit, d. h. die Länge des Dateiinhalt-Bitstroms muss auf ganze Bytes aufgehen (wobei im Allgemeinen auch 0 Byte = 0 Bit erlaubt sind).
Erst der Anwender einer Datei bzw. ein Anwendungsprogramm oder das Betriebssystem selbst interpretieren diese Bit- oder Bytefolge beispielsweise als einen Text, ein ausführbares Programm, ein Bild oder eine Tonaufzeichnung. Eine Datei besitzt also ein Dateiformat.
Das Dateisystem verwaltet neben Verzeichnissen mit Dateinamen und -speicherort noch weitere Dateiattribute. Zu diesen gehören der Dateityp, die Dateigröße (Anzahl der Bytes in der Datei), Schreib- und Leserechte, Zeitstempel („Datum“, der Erzeugung, des letzten Zugriffs und der letzten Änderung) sowie gegebenenfalls noch andere Informationen. Eine Datei kann durch ein Attribut als versteckte Datei gekennzeichnet werden. Die in Dateinamen verwendbaren Zeichen sind abhängig von Dateisystem, Betriebssystem und gegebenenfalls Sprachoptionen.
Nach ihrem Inhalt unterscheidet man unter anderem:
ausführbare Dateien
Programme in Skriptsprachen
nichtausführbare Dateien
Dateien werden auf sogenannten Laufwerken verwaltet. Ein Laufwerk ist ein Gerät eines Computers für den Zugriff (Lesen/Schreiben oder Nur-Lesen) auf ein Speichermedium für digitale Daten. Dabei wird zwischen einem physischen und einem virtuellen Laufwerk unterschieden. Die physischen, also tatsächlich vorhandenen Laufwerke, lassen sich unterteilen in Laufwerke für Wechselmedien (Magnetband, Diskette, CD, DVD usw.) und Festplatten. Virtuelle Laufwerke bilden ein physisches Laufwerk lediglich nach und können analog dazu genutzt werden. Microsoft-Betriebssysteme repräsentieren in Pfadangaben die Laufwerke (genauer: deren Partitionen, die so dem Benutzer wie eigene Laufwerke erscheinen) durch Großbuchstaben. Traditionell bezeichnen „A:“ und „B:“ Diskettenlaufwerke und „C:“ die Bootpartition der Festplatte. Es ist auch möglich, virtuelle Laufwerke einzurichten, die dem Rechner nicht vorhandene physische Laufwerke vorgaukeln.
Das Dateisystem (englisch file system oder filesystem) ist eine Ablageorganisation auf einem Datenträger eines Computers. Dateien müssen gelesen, gespeichert oder gelöscht werden. Für den Nutzer müssen Dateiname und computerinterne Dateiadressen in Einklang gebracht werden.
Dateien haben in einem Dateisystem fast immer mindestens einen Dateinamen sowie Attribute, die nähere Informationen über die Datei geben. Die Dateinamen sind in speziellen Dateien, den Verzeichnissen, abgelegt. Über diese Verzeichnisse kann ein Dateiname und damit eine Datei vom System gefunden werden. Ein Dateisystem bildet somit einen Namensraum. Alle Dateien (oder dateiähnlichen Objekte) sind so über eine eindeutige Adresse (Dateiname inkl. Pfad) – innerhalb des Dateisystems – aufrufbar. Der Name einer Datei und weitere Informationen, die den gespeicherten Daten zugeordnet sind, werden als Meta-Daten bezeichnet.
Ein Dateiformat definiert die Syntax und Semantik von Daten innerhalb einer Datei. Die Kenntnis des Dateiformats ist essentiell für die Interpretation der in einer Datei abgelegten Information. Moderne Betriebssysteme ordnen Dateien über das Dateiformat Anwendungen zu, die die Dateien interpretieren können.
Eine Containerdatei oder kurz ein Container (vom englischen container für Behälter) ist in der digitalen Datenverarbeitung eine Datei, die ihrerseits wiederum unterschiedliche Dateien und Dateitypen enthalten kann. Als Containerformat hingegen wird die Art und Weise der Anordnung bezeichnet, wie verschiedenartige Datenformate innerhalb eines Containers gespeichert werden – also die innere Struktur einer Containerdatei. Die Möglichkeiten verschiedener Containerformate unterscheiden sich stark voneinander. Der einfachste Fall eines Containers ist das Zusammenfassen mehrerer Dateien in einer (oft komprimierten) Archivdatei, wie beispielsweise beim ZIP- oder TAR-Format.