Najprościej mówiąc: każdy plik* to tak naprawdę plik tekstowy składający się z pewnych ustalonych przez programistę sekcji, czyli aby utworzyć plik o własnym rozszerzeniu to tworzysz plik "abc.xyz" i tyle.
* są wyjątki, ale pliki ogólnie używane na wszystkich systemach to pliki tekstowe, np. png, bmp, etc