上一期我们讲到了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存储节点的使用](https://cms-pic.yhzz.com.cn/1683802234261.jpg)
![Node-RED系列(七):Node-RED存储节点的使用1 Node-RED系列(七):Node-RED存储节点的使用1](https://cms-pic.yhzz.com.cn/1683802234429.jpg)
file in
该节点能以字符串或二进制缓冲区的形式读取文件的内容。
输入 filename 如果未在节点配置中设置,该属性可以选择要读取的文件名。
输入
payload 文件的内容可以是字符串,也可以是二进制的buffer。
filename 如果未在节点配置中设置,该属性可以选择要读取的文件名。
![Node-RED系列(七):Node-RED存储节点的使用3 Node-RED系列(七):Node-RED存储节点的使用3](https://cms-pic.yhzz.com.cn/1683802234547.jpg)
watch
改节点用于监视目录或文件中的更改。
您可以输入用逗号分隔的目录和/或文件的列表。您需要在所有带有空格的地方加上引号“…”。
在Windows上,必须在任何目录名称中使用双反斜杠\。
实际更改的文件的完整文件名将放入msg.payload和msg.filename中,而监视列表的字符串化版本将在msg.topic中返回。
msg.file仅包含已更改文件的短文件名。msg.type更改了事物的类型,通常是file或directory,而msg.size保留了文件的大小(以字节为单位)。
当然,在Linux中,everything也是一个文件,因此可以监视
注意:该目录或文件必须存在才能被监视。如果文件或目录被删除,即使重新创建它也可能不再被监视。
![Node-RED系列(七):Node-RED存储节点的使用5 Node-RED系列(七):Node-RED存储节点的使用5](https://cms-pic.yhzz.com.cn/1683802234655.jpg)
tail
监听已配置文件中,被添加的内容。
在Windows上你需要根本文件的写入和更新注册。
输出的是UTF-8的字符,或者二进制文件流
![Node-RED系列(七):Node-RED存储节点的使用6 Node-RED系列(七):Node-RED存储节点的使用6](https://cms-pic.yhzz.com.cn/1683802234699.jpg)
![Node-RED系列(七):Node-RED存储节点的使用7 Node-RED系列(七):Node-RED存储节点的使用7](https://cms-pic.yhzz.com.cn/1683802234754.jpg)
完整的流配置
[
{
“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 Node-RED系列(七):Node-RED存储节点的使用8](https://cms-pic.yhzz.com.cn/1683802234807.jpg)