Files and Streams
Files and Streams
File Names
name.m
Wolfram Language source file
name.nb
Wolfram System notebook file
name.ma
Wolfram System notebook file from before Version 3
name.mx
Wolfram Language expression dump
name.exe
WSTP executable program
name.tm
WSTP template file
name.ml
WSTP stream file
Conventions for file names.
Most files used by the Wolfram System are completely system independent. .mx and .exe files are however system dependent. For these files, there is a convention that bundles of versions for different computer systems have names with forms such as name/$SystemID/name.
In general, when you refer to a file, the Wolfram System tries to resolve its name as follows:
- If the name starts with !, the Wolfram Language treats the remainder of the name as an external command, and uses a pipe to this command.
- If the name starts with http:// or https:// the Wolfram Language treats the name as a URL and reads the file from a web server.
- If the name is handled by a registered stream method, the method will open the stream using the name.
- If the name contains metacharacters used by your operating system, then the Wolfram Language passes the name directly to the operating system for interpretation.
- Unless the file is to be used for input, no further processing on the name is done.
- Unless the name given is an absolute file name under your operating system, the Wolfram Language will search each of the directories specified in the list $Path .
- If what is found is a directory rather than a file, then the Wolfram Language will look for a file name/$SystemID/name.
For names of the form name` the following further translations are done in Get and related functions:
Streams
Types of streams.
Options for output streams.
You can test options for streams using Options , and reset them using SetOptions .