用Erlang写一个代码,功能是往文件里写入redis的地址和端口,然后可以从文件中读出地址和端口赋值给一个变量
时间: 2024-03-23 09:43:29 浏览: 51
redis:Redis协议Erlang实现
下面是一个简单的示例代码,实现了往文件中写入 Redis 地址和端口,并从文件中读取地址和端口赋值给一个变量:
```erlang
-module(my_redis).
-export([write_to_file/2, read_from_file/0]).
% 将 Redis 地址和端口写入文件
write_to_file(Host, Port) ->
{ok, File} = file:open("redis.config", [write, binary]),
ok = file:write(File, io_lib:format("~s ~p", [Host, Port])),
ok = file:close(File).
% 从文件中读取 Redis 地址和端口
read_from_file() ->
{ok, File} = file:open("redis.config", [read, binary]),
{ok, Data} = file:read(File, 1024), % 一次性读取最多 1024 字节的内容
[Host, PortStr] = string:tokens(binary_to_list(Data), " "), % 将读取的内容按空格分割为列表
Port = list_to_integer(PortStr),
{ok, {Host, Port}}. % 返回 Redis 地址和端口
```
在上面的代码中,`write_to_file/2` 函数接受 Redis 的地址和端口作为参数,将它们格式化为一个字符串写入文件 "redis.config" 中。`read_from_file/0` 函数用于从文件 "redis.config" 中读取 Redis 的地址和端口,并将它们返回为一个二元组。该函数首先使用 `file:open/2` 函数打开文件 "redis.config",然后使用 `file:read/2` 函数读取文件中的内容。读取的内容是一个二进制数据,我们需要将它转换为字符串并按空格分割为一个列表。列表的第一个元素是 Redis 的地址,第二个元素是 Redis 的端口,我们将端口转换为整数并将地址和端口组成一个二元组返回。注意,在实际使用中,我们需要在写入和读取文件时处理可能出现的错误。
阅读全文