Учебники

Erlang — File I / O

Erlang предоставляет несколько методов при работе с I / O. В нем есть более простые классы для обеспечения следующих функций для файлов:

  • Чтение файлов
  • Запись в файлы
  • Видя, является ли файл файлом или каталогом

Методы работы с файлами в Erlang

Давайте рассмотрим некоторые файловые операции, которые предлагает Erlang. Для целей этих примеров мы будем предполагать, что существует файл с именем NewFile.txt, который содержит следующие строки текста

Example1

Example2

Example3

Этот файл будет использоваться для операций чтения и записи в следующих примерах.

Чтение содержимого файла по одной строке за раз

Общие операции над файлами выполняются с использованием методов, доступных в библиотеке файлов. Для чтения файлов нам нужно сначала использовать операцию открытия, а затем использовать операцию чтения, которая доступна как часть файловой библиотеки. Ниже приводится синтаксис для обоих этих методов.

Синтаксис

  • Открытие файла — Открыть (Файл, Режим)
  • Чтение файла — чтение (FileHandler, NumberofBytes)

параметры

  • Файл — это местоположение файла, который необходимо открыть.

  • Режим — это режим, в котором необходимо открыть файл.

Файл — это местоположение файла, который необходимо открыть.

Режим — это режим, в котором необходимо открыть файл.

Ниже приведены некоторые из доступных режимов —

  • Чтение — файл, который должен существовать, открыт для чтения.

  • Запись — файл открыт для записи. Он создается, если его не существует. Если файл существует, и если запись не совмещена с чтением, файл будет усечен.

  • Добавить — файл будет открыт для записи и будет создан, если он не существует. Каждая операция записи в файл, открытый с помощью append, будет выполняться в конце файла.

  • Эксклюзив — файл, когда он открыт для записи, создается, если он не существует. Если файл существует, open вернет {error, exist}.

Чтение — файл, который должен существовать, открыт для чтения.

Запись — файл открыт для записи. Он создается, если его не существует. Если файл существует, и если запись не совмещена с чтением, файл будет усечен.

Добавить — файл будет открыт для записи и будет создан, если он не существует. Каждая операция записи в файл, открытый с помощью append, будет выполняться в конце файла.

Эксклюзив — файл, когда он открыт для записи, создается, если он не существует. Если файл существует, open вернет {error, exist}.

  • FileHandler — это дескриптор файла. Этот дескриптор будет возвращен при использовании операции file: open .

  • NumberofByte — это количество байтов информации, которую необходимо прочитать из файла.

FileHandler — это дескриптор файла. Этот дескриптор будет возвращен при использовании операции file: open .

NumberofByte — это количество байтов информации, которую необходимо прочитать из файла.

Возвращаемое значение

  • Открыть (Файл, Режим) — возвращает дескриптор файла, если операция прошла успешно.

  • read (FileHandler, NumberofBytes) — возвращает запрашиваемую информацию о прочтении из файла.

Открыть (Файл, Режим) — возвращает дескриптор файла, если операция прошла успешно.

read (FileHandler, NumberofBytes) — возвращает запрашиваемую информацию о прочтении из файла.

Например

-module(helloworld). 
-export([start/0]). 

start() -> 
   {ok, File} = file:open("Newfile.txt",[read]),
   Txt = file:read(File,1024 * 1024), 
   io:fwrite("~p~n",[Txt]).

Вывод — когда мы запустим вышеуказанную программу, мы получим следующий результат.

Example1

Давайте теперь обсудим некоторые другие методы, доступные для файловых операций —

FILE_READ

Доступно для чтения всего содержимого файла за один раз.

записывать

Используется для записи содержимого в файл.

копия

используется для создания копии существующего файла.

удалять

Этот метод используется для удаления существующего файла.

list_dir

Этот метод используется для вывода списка содержимого определенного каталога.

make_dir

Этот метод используется для создания нового каталога.

переименовать

Этот метод используется для переименования существующего файла.

размер файла

Этот метод используется для определения размера файла.

is_file

Этот метод используется, чтобы определить, является ли файл действительно файлом.

is_dir

Этот метод используется, чтобы определить, действительно ли каталог является каталогом.