Incomputing, anarchive file stores the content of one or morefiles, possiblycompressed, with associatedmetadata such asfile name,directory structure,error detection and correction information, commentary, compressed data archives, storage, and sometimesencryption. An archive file is often used to facilitateportability,distribution andbackup, and to reducestorage use.[1][2][3]
As an archive file storesfile system information, including file content and metadata, it can be leveraged for file system content portability across heterogeneous systems. For example, adirectory tree can be sent viaemail, files with unsupported names on the target system can be renamed during extraction,timestamps can be retained rather than lost duringdata transmission.[4] Also, transfer of a single archive file may be faster than processing multiple files due to per-file overhead,[5][6] and even faster if compressed.
Beyond archiving, archive files are often used forsoftware distribution. When used in connection with apackage manager, an archive must conform to apackage format and is called apackage. In particular, the format usually requires amanifest file.[7] Examples includedeb forDebian,JAR forJava,APK forAndroid, andself-extractingWindows Installerexecutables.
Notable features supported for various archives include:
Archive files often includeparity checks and otherchecksums forerror detection, for instancezip files use acyclic redundancy check (CRC).RAR archives may include additionalerror correction data (called recovery records).[8]
Archive files that do not natively support recovery records can use separateparchive (PAR) files that allows for additional error correction and recovery of missing files in a multi-file archive.[9]
Theformat of an archive file is itsarchive format. Some formats are well-defined and some have become conventions supported by multiple vendors and communities.[10] As is common for all files, the format of an archive is generally indicated byfile name extension and/orfile header.[11]
Commonly used formats includezip,rar,7z, andtar.[12]Java introduced archive formats includingjar (j for Java) andwar (w for web) that store an entire runnable deployment; usually compressed.[13]
{{cite book}}
: CS1 maint: location missing publisher (link)