open (lista_de_especificadores)donde los especificadores más comunes son:
[UNIT=] u IOSTAT= ios ERR= err FILE= nomb_arch STATUS= sta ACCESS= acc FORM= frm RECL= rlEl número de unidad u es un número en el rango de 9-99 para algún archivo, el programador lo escoge debiendo ser un número único.
ios es el identificador del estado de la E/S y debe ser una variable entera. El valor que regresa ios es cero si la sentencia fue exitosa y sino, regresa un valor diferente de cero.
err es una etiqueta a la cual el programa saltará si hay un error.
nomb_arch es una cadena de caracteres que contiene el nombre del archivo.
sta es una cadena de caracteres que tiene que ser NEW, OLD o SCRATCH. Esta muestra el estatus del archivo. Un archivo scratch es aquel que es creado y borrado cuando el archivo es cerrado (o el programa termina).
acc deberá ser SEQUENTIAL o DIRECT. El valor predefinido es SEQUENTIAL.
frm deberá ser FORMATTED o UNFORMATTED. El valor predefinido es UNFORMATTED.
rl indica la longitud de cada registro en un archivo de acceso directo.
Para más detalles en los especificadores, se recomienda que se revise un buen libro de Fortran 77.
Una vez que un archivo ha sido abierto, se puede acceder con sentencias de lectura y escritura. Cuando se manipula un archivo y se termina de usar, deberá ser cerrado usando la sentencia.
close ([UNIT=]u[,IOSTAT=ios,ERR=err,STATUS=sta])donde, los parámetros en bracket [] son opcionales
read ([UNIT=]u, [FMT=]fmt, IOSTAT=ios, ERR=err, END=s) write([UNIT=]u, [FMT=]fmt, IOSTAT=ios, ERR=err, END=s)donde la mayoría de los especificadores han sido descritos anteriormente. El especificador END=s define a que sentencia saltará el programa si se alcanza el fin del archivo (eof).
program entdat c c Este programa lee n puntos desde un archivo de datos y los guarda en c 3 arreglos x, y, z. c integer nmax, u parameter (nmax=1000, u=20) real x(nmax), y(nmax), z(nmax) c Abrir el archivo de datos open (u, FILE='puntos.dat', STATUS='OLD') c Leer el número de puntos read(u,*) n if (n.GT.nmax) then write(*,*) 'Error: n = ', n, 'es más largo que nmax =', nmax goto 9999 endif c Ciclo para recuperar los datos do 10 i= 1, n read(u,100) x(i), y(i), z(i) 10 enddo 100 format (3(F10.4)) c Cerrar el archivo close (u) c Ahora se procesarán los datos c ... 9999 stop end