首页 > 技术知识 > 正文

上一期我们讲到了Node-RED中解析parser分类节点的使用,利用解析节点我们可以对csv,html,json,xml,yaml文件进行解析。获取一些格式化内容。

本篇文章我来给大家讲一下Node-RED中存储file分类下的节点,该分类下有4个节点,

file 将msg.payload写入文件,添加到末尾或替换现有内容。或者,它也可以删除文件。 file in 以字符串或二进制缓冲区的形式读取文件的内容。 watch 监视目录或文件中的更改。 tail 监听被一个文件被添加的内容 file

该节点是将msg.payload写入文件,添加到末尾或替换现有内容。或者,它也可以删除文件。 输入 filename, 也可以配置,如果没有该目录,则自动创建。写入完成后,输入消息将发送到输出端口

每个消息的有效荷载将添加到文件的末尾,可以选择在每个消息之间添加一个换行符(\n)。

如果使用msg.filename,则每次写入后文件都会关闭。为了获得最佳体验,请使用固定的文件名。

可以将其配置为覆盖整个文件,而不是在文件后添加段落。例如,在将二进制数据写入文件(例如图像)时,应使用此选项,并且应禁用添加换行符的选项。

可以从编码列表中指定写入文件的数据的编码。

您可以将此节点配置为删除文件

Node-RED系列(七):Node-RED存储节点的使用

Node-RED系列(七):Node-RED存储节点的使用1

file in

该节点能以字符串或二进制缓冲区的形式读取文件的内容。 输入 filename 如果未在节点配置中设置,该属性可以选择要读取的文件名。 输入 payload 文件的内容可以是字符串,也可以是二进制的buffer。 filename 如果未在节点配置中设置,该属性可以选择要读取的文件名。 Node-RED系列(七):Node-RED存储节点的使用2

Node-RED系列(七):Node-RED存储节点的使用3

watch

改节点用于监视目录或文件中的更改。

您可以输入用逗号分隔的目录和/或文件的列表。您需要在所有带有空格的地方加上引号“…”。

在Windows上,必须在任何目录名称中使用双反斜杠\。

实际更改的文件的完整文件名将放入msg.payload和msg.filename中,而监视列表的字符串化版本将在msg.topic中返回。

msg.file仅包含已更改文件的短文件名。msg.type更改了事物的类型,通常是file或directory,而msg.size保留了文件的大小(以字节为单位)。

当然,在Linux中,everything也是一个文件,因此可以监视

注意:该目录或文件必须存在才能被监视。如果文件或目录被删除,即使重新创建它也可能不再被监视。 Node-RED系列(七):Node-RED存储节点的使用4

Node-RED系列(七):Node-RED存储节点的使用5

tail

监听已配置文件中,被添加的内容。 在Windows上你需要根本文件的写入和更新注册。 输出的是UTF-8的字符,或者二进制文件流

Node-RED系列(七):Node-RED存储节点的使用6

Node-RED系列(七):Node-RED存储节点的使用7

完整的流配置 [ { “id”: “c9eae563.294d18”, “type”: “tab”, “label”: “流程 3”, “disabled”: false, “info”: “” }, { “id”: “738ced86.140b84”, “type”: “file”, “z”: “c9eae563.294d18”, “name”: “追加到12.txt”, “filename”: “12.txt”, “appendNewline”: true, “createDir”: false, “overwriteFile”: “false”, “encoding”: “none”, “x”: 490, “y”: 260, “wires”: [ [ “921006b.457b4f8” ] ] }, { “id”: “8dee2a6f.831118”, “type”: “inject”, “z”: “c9eae563.294d18”, “name”: “”, “props”: [ { “p”: “payload” } ], “repeat”: “”, “crontab”: “”, “once”: false, “onceDelay”: 0.1, “topic”: “”, “payload”: “我是被追加的”, “payloadType”: “str”, “x”: 190, “y”: 260, “wires”: [ [ “738ced86.140b84”, “3576d67e.f638fa” ] ] }, { “id”: “921006b.457b4f8”, “type”: “debug”, “z”: “c9eae563.294d18”, “name”: “”, “active”: true, “tosidebar”: true, “console”: true, “tostatus”: false, “complete”: “true”, “targetType”: “full”, “statusVal”: “”, “statusType”: “auto”, “x”: 750, “y”: 260, “wires”: [] }, { “id”: “3576d67e.f638fa”, “type”: “file in”, “z”: “c9eae563.294d18”, “name”: “读取12.txt”, “filename”: “12.txt”, “format”: “utf8”, “chunk”: false, “sendError”: false, “encoding”: “none”, “x”: 500, “y”: 400, “wires”: [ [ “921006b.457b4f8” ] ] }, { “id”: “b231a4b7.143ea8”, “type”: “watch”, “z”: “c9eae563.294d18”, “name”: “监听12.txt文件”, “files”: “12.txt”, “recursive”: “”, “x”: 500, “y”: 620, “wires”: [ [ “7fba4883.304338” ] ] }, { “id”: “7fba4883.304338”, “type”: “debug”, “z”: “c9eae563.294d18”, “name”: “”, “active”: true, “tosidebar”: true, “console”: true, “tostatus”: false, “complete”: “true”, “targetType”: “full”, “statusVal”: “”, “statusType”: “auto”, “x”: 750, “y”: 620, “wires”: [] }, { “id”: “fdf417e5.6c4db8”, “type”: “tail”, “z”: “c9eae563.294d18”, “name”: “监听并获取12.txt内容”, “filetype”: “text”, “split”: “[\\r]{0,1}\\n”, “filename”: “12.txt”, “inputs”: 0, “x”: 500, “y”: 700, “wires”: [ [ “d8ada19c.f13ec” ] ] }, { “id”: “d8ada19c.f13ec”, “type”: “debug”, “z”: “c9eae563.294d18”, “name”: “”, “active”: true, “tosidebar”: true, “console”: true, “tostatus”: false, “complete”: “true”, “targetType”: “full”, “statusVal”: “”, “statusType”: “auto”, “x”: 770, “y”: 700, “wires”: [] } ]
<

Node-RED系列(七):Node-RED存储节点的使用8

猜你喜欢