A file in a computer system is a stream of bits stored as a single unit, typically in a file system on disk or magnetic tape.

While a file is usually presented as a single stream, it most often is stored as multiple fragments of data at different places on a disk (or even multiple disks). One of the services operating systems usually perform for applications is that organization of files in a file system.

Files are created by software and usually conform to a particular file format. They are almost always assigned file names by the file system on which they are stored, so that they can be refered to at a later time.

An important subclass of file is the text file. A text file is a sequence of characterss often organized into lines separated by line breaks. The term "binary file" usually refers to any file other than a text file.

A "special file" is a file system object which is accessed as though it was a file, but the sequence of bits is supplied or consumed by another process (or by the operating system itself) such as a device driver or network interface. Indeed, the philosophy that "everything is a file" is one of the best known desing decision in Unix and Unix-like operating systems (such as Linux).

Files are often organized hierchically by the operating system, placing them in folders or a directories.

Notes

  1. A collection of bytes in RAM isn't usually known as a file, unless it's stored in a RAM disk.
  2. Historically it was common for files to be defined as sequences of records. However this is now uncommon except on certain mainframe operating systems. On most systems, the application or a library creates the "record" abstraction from the byte stream according to the file format.