To work with files, we need the IOStream type. IOStream is a type with the IO supertype and has the following characteristics:
- The fields are given by fieldnames(IOStream):
(:handle, :ios, :name, :mark)
- The types are given by IOStream.types:
(Ptr{Nothing}, Array{UInt8,1}, AbstractString, Int64)
The file handle is a pointer of the Ptr type, which is a reference to the file object.
Opening and reading a line-oriented file with the example.dat name is very easy:
// code in Chapter 8\io.jl fname = "example.dat" f1 = open(fname)
fname is a string that contains the path to the file, using the escaping of special characters with \ when necessary. For example, in Windows, when the file is in the test folder on the D: drive, this would become d:\\test\\example.dat. The f1 variable is now an IOStream(<file example.dat...