Используйте файл, в котором у вас есть данные в качестве терминов erlang.Однако вам необходимо защитить файл.Чтение из файла при запуске использования: file:consult/1
.Если пользователь или системный администратор изменит файл, используйте следующие функции для защиты или отказа в доступе к файлу:
-include_lib("kernel/include/file.hrl").
protect_file(File)->
{_,File_info} = file:read_file_info(File),
file:write_file_info(File,File_info#file_info{access = read,mode = 33060}).
unprotect_file(File)->
{_,File_info} = file:read_file_info(File),
file:write_file_info(File,File_info#file_info{access = read_write,mode = 33206}).
Используйте функцию protect_file/1
, чтобы сделать файл доступным только для чтения.Если вам нужно сделать файл доступным для записи, измените его, используя unprotect_file/1
.Файл с терминами erlang проще, потому что вам не нужен синтаксический анализ. Вы также можете записать свои конфигурации в виде JSON
объектов или XML
данных в файл.В итоге, использование файла для всех ваших конфигураций будет лучше управляться вашим приложением и теми, кто с ним взаимодействует.
Примером является файл ejabberd.cfg, файл конфигурации для сервера ejabberd.Это проще всего с файлом с терминами erlang, потому что вы можете оставить комментарий для системного администратора, чтобы увидеть другие доступные опции для определенной конфигурации.