Data file

A data file is a computer file which stores data for use by a computer application or system. It generally does not refer to files that contain instructions or code to be executed (typically called program files), or to files which define the operation or structure of an application or system (which include configuration files, directory files, etc.); but specifically to information used as input, and/or written as output by some other software program. This is especially helpful when debugging a program.

Data files come in two broad categories: open and closed.

Closed data file formats
Closed data (frequently referred to as proprietary format files) files have their metadata data elements hidden, obscured or unavailable to users of the file. Application developers do this to discourage users from tampering with or corrupting the data files or importing the data into a competitor's application.

Open data file formats
Open data files have their internal structures available to users of the through a process of metadata publishing. Metadata publishing implies that the structure and semantics of all the possible data elements within a file are available to users.

Examples of open data files include XML formats such as HTML for storing web pages or SVG for storing scalable graphics.

Binary and ASCII data file formats
Data files are frequently stored in binary or ASCII file formats. ASCII file formats can usually be inspected and modified with an appropriate text or word-processor.

Binary files are usually not editable with a text or word processor.

Note that binary file formats are not necessarily closed. Some application vendors store data in a compressed file structure.

Editors
There are specialist editors for data files, some can edit Binary files. These editors include
 * FileAid & File Master - Mainframe Editor's that edit via Cobol / Pl1 copybooks. Can handle Binary data
 * CobTree, FillRed - Windows
 * RecordEditor - Window / Linux / Unix / Mac - File layouts store in a DB, Can handle Binary formats
 * JRecord - Window / Linux / Unix / Mac - variation of the RcordEditor that uses XML files to define file layouts.

Debugging uses
Data files are commonly used when computer programming, especially when debugging, to quicken the repetitious commands needed to get to certain parts of a program. Commonly used file extensions for programming include .txt and .dat for simplicity. This greatly reduces the time for a programmer to access the problems in the programs.